02/2008 RICARDO BIMBO p.30 CASE DE SUCESSO ODF p.26 CEZAR TAURION p.32 Incentivos públicos Vencedores do concurso O Código Aberto conquista à produção de SL Padrão Aberto, Prêmio Certo os aplicativos

#39 02/08 Magazine R$ 13,90 € 7,50 0 0 0 3 9 9 200 venda proibida 4 exemplar de 6 9 # 39 Assinante 7180 # 39 Fevereiro 2008

A REVISTA DO PROFISSIONAL DE TI 9 7 ERP & CRM & ERP O EBAO O PENBRAVO ECX A PENCRX ERP & CRM p.34 TODA EMPRESA JÁ PODE TER SISTEMAS ERP EPEE P DEMPIERE E CRM. GARANTA UMA BOA GESTÃO COM OS MELHORES SISTEMAS PARA LINUX. OE E LONE » O mercado PME tem vez com o Openbravo p.36

» Obtenha as vantagens do CRM com o openCRX p.42 TGNGAI P STEGANOGRAFIA » ADempiere, poderoso como o Código Aberto p.48

REDES: PLONE 3.0 p.70 PGK L HP-GTK Recursos e novidades da versão mais recente de um dos CMS mais populares da atualidade.

I- O PIC-2 SEGURANÇA: CRIPTOGRAFIA É POUCO p.67 E se ninguém soubesse que a informação sequer foi transmitida? Mensagens ocultas em imagens garantem o sigilo. PENSSI

VEJA TAMBÉM NESTA EDIÇÃO: » PHP-GTK, aula 3: Sinais na interface gráfi ca p.75 » Cluster prático e rápido com o OpenSSI p.63 » Oitava aula preparatória para o LPIC-2 p.53 » Augusto Campos: Linux no desktop econômico p.08

WWW.LINUXMAGAZINE.COM.BR © Linux New Media do Brasil Editora Ltda. A melhor conferência de que eu tive o prazer de participar. Zack Rusin, KDE/Mesa/Gallium3 D

Bossa Conference foi um evento impressionante. Para mim, foi a melhor conferência de Open Source em 2007. Não perca a de 2008. Marcel Holtmann, Bluez Maintainer

A melhor conferência de que eu já participei. Não perca a de 2008. Carsten ‘The Rasterman’ Haitzler, OpenMoko GUI/Enlightenment

Areia, sol e aparelhos móveis. Bossa foi a conferência perfeita para discutir o futuro do Linux em sistemas embarcados. John ‘J5’ Palmieri, Red Hat/OLPC/DBus

www.bossaconference.org

16 a 19 de Março Conferência Internacional sobre Summerville Resort SOFTWARE OPEN SOURCE Muro Alto - Pernambuco para Aparelhos Móveis de Plataformas Embarcadas Brasil

© Linux New Media do Brasil Editora Ltda. Expediente editorial

Diretor Geral Rafael Peregrino da Silva Mudanças [email protected] EDITORIAL Editor-chefe Tadeu Carmona [email protected] Editor Pablo Hess importantes [email protected] Revisão Arali Lobo Gomes Prezados leitores da Linux Magazine, [email protected] Editor de Arte Nenhum gestor de TI, administrador de sistemas ou mesmo usuário de desktop duvida Renan Herrera [email protected] de que importantes mudanças ocorreram no uso do Software Livre e de Código Aberto Assistente de Arte Igor Daurício (SL/CA) no Brasil nos anos recentes. [email protected] A pesquisaTendências 2007, do Instituto Sem Fronteiras, de abrangência nacional e re- Centros de Competência Centro de Competência em Software: alizada com gestores de mais de mil empresas de diversos segmentos e tamanhos no Brasil Oliver Frommel: [email protected] Kristian Kißling: [email protected] – à qual a Linux Magazine teve acesso exclusivo – é um esforço de patrocínio conjunto Peter Kreussel: [email protected] Marcel Hilzinger: [email protected] de IBM, Intel, Itautec e Red Hat, e fornece os números concretos sobre a situação atual Centro de Competência em Redes e Segurança: Achim Leitner: [email protected] e as mudanças ocorridas nos últimos 12 meses no mercado brasileiro de SL/CA. Jens-Christoph B.: [email protected] Hans-Georg Eßer: [email protected] O primeiro resultado que chama atenção é a observação de que, ao contrário da Thomas Leichtenstern: [email protected] Max Werner: [email protected] crença difundida de que as pequenas empresas são as principais usuárias de SL/CA Markus Feilner: [email protected] Nils Magnus: [email protected] devido às restrições de orçamento que enfrentam, as empresas com mais de mil fun- Anúncios: cionários são as maiores usuárias de SL/CA no Brasil, mesmo em desktops. Embora Rafael Peregrino da Silva (Brasil) [email protected] somente 39% das empresas pesquisadas utilizem SL/CA como sistema operacional Tel.: +55 (0)11 4082 1300 Fax: +55 (0)11 4082 1302 nos PCs, essa porcentagem é de 53% quando analisadas somente as grandes empresas. Hubert Wiest (Alemanha, Áustria e Suíça) [email protected] Entre as que já usavam SL/CA há 12 meses, 46% aumentaram seu uso. Brian Osborn (Outros países) [email protected] Vale a pena citar as palavras dos autores da mesma pesquisa a esse respeito: “as Assinaturas: maiores empresas são menos permeáveis à pirataria em razão de sua maior capa- www.linuxnewmedia.com.br [email protected] cidade de adquirir software proprietário ou de defi nir o uso de software livre, im- Na Internet: www.linuxmagazine.com.br – Brasil plementá-lo e geri-lo de forma efi ciente”. www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial Também entre as empresas que fazem algum uso de SL/CA, a razão daquelas que www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá têm todos os sistemas operacionais de seus PCs em SL/CA, 1%, foi surpreendente. www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido Apesar da pequena porcentagem, o número absoluto dessas empresas representa mui- www.linux-magazin.ro – Romênia tos usuários de sistemas operacionais livres. Há também, entre as usuárias de SL/CA, Gerente de Circulação Cláudio Guilherme dos Santos aquelas cujos aplicativos são todos livres, as quais somam 8%. [email protected] No campo dos servidores, onde 54% das empresas mostraram aumento no uso de Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a editora não é responsável SL/CA nos últimos 12 meses, o cenário geral é semelhante ao dos desktops: quanto por eventuais imprecisões nela contidas ou por conseqüências que advenham de seu uso. A utilização de qualquer material da revista ocorre por conta e risco do leitor. menor a empresa, menor é o uso de SL/CA. Porém, um aspecto geográfi co surpre- Nenhum material pode ser reproduzido em qualquer meio, em par- ende: na região Centro-Oeste, 78% dos servidores que utilizam SL/CA têm sistema te ou no todo, sem permissão expressa da editora. Assume-se que qualquer correspondência recebida, tal como cartas, emails, faxes, operacional livre, o que os autores do estudo atribuem principalmente à área de TI do fotografi as, artigos e desenhos, são fornecidos para publicação ou licenciamento a terceiros de forma mundial não exclusiva pela Li- Governo Federal, em Brasília. As empresas que adotam SL/CA nos servidores fazem nux New Media do Brasil, a menos que explicitamente indicado. Linux é uma marca registrada de Linus Torvalds. intenso uso das tecnologias de infra-estrutura de TI também com ferramentas livres, Linux Magazine é publicada mensalmente por: como virtualização, clusters e replicação de dados. Linux New Media do Brasil Editora Ltda. Av. Fagundes Filho, 134 O estudo põe ainda uma pedra sobre a questão do custo total de propriedade (TCO), Conj. 53 – Saúde 04304-000 – São Paulo – SP – Brasil Tel.: +55 (0)11 4082 1300 ao relatar que 66% dos responsáveis pela TI nas empresas pesquisadas verifi cam que o SL/ Fax: +55 (0)11 4082 1302 Direitos Autorais e Marcas Registradas © 2004 - 2007: CA possui TCO inferior ao do software proprietário, além de melhor aproveitamento do Linux New Media do Brasil Editora Ltda. hardware (64% dos entrevistados), maior segurança (52%) e estabilidade superior (57%). Distribuição: Distmag Impressão e Acabamento: Parma Para fi nalizar o relato das mudanças: no momento em que vocês, nossos leitores, estiverem lendo este editorial, essa pesquisa já estará devidamente publicada em nos- Atendimento Assinantes São Paulo: +55 (0)11 3512 9460 so site, que agora se encontra abrigado sob o UOL, oferecendo melhores serviços e Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 agregando mais informações, além de contar com novo visual, planejado com vistas

ISSN 1806-9428 Impresso no Brasil à experiência do usuário. Que tenhamos sempre boas mudanças para anunciar. ■ Pablo Hess � Editor

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

CAPA

Gestão aberta 34

Os sistemas de ERP precisam de robustez e fle-

xibilidade, e por isso constituem um dos melho-

res exemplos de vantagem do Código Aberto.

Bravíssimo! 36

Com o Openbravo, as médias empre-

sas têm uma ótima opção de ERP livre.

Visão de cliente 42

Sistemas CRM têm como objetivo melhorar a rela-

ção de uma empresa com seus clientes. Veja por que

e saiba como o openCRX pode viabilizar isso.

Bom modelo 48

O ADempiere surgiu há pouco mais de um ano, mas herda de

seu ancestral Compiere recursos e uma arquitetura poderosos.

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

COLUNAS REDES

Augusto Campos 08 Cluster único 63 Charly Kühnast 10 O framework OpenSSI rearranja os processos para Klaus Knopper 12 criar clusters de forma fácil e transparente. Zack Brown 14 NOTÍCIAS

Segurança 16 ➧ PHP

➧ Cairo

➧ e2fsprogs ➧ teTeX e TeX Live SEGURANÇA ➧ Samba Segredos gráficos 67 Ferramentas de esteganografia permitem que se escon- ➧ Sitebar da mensagens secretas em arquivos comuns. O Out- ➧ Firefox guess traz essa funcionalidade à linha de comando.

➧ Ruby-Gnome 2

➧ OpenLDAP

Geral 18 ➧ Lançado o KDE 4.0

➧ Cinco anos de Creative Commons

➧ PC com Linux por US$ 199

➧ Yahoo abre plataforma móvel ANÁLISE Campeão de conteúdo 70 A simplicidade e o poder do Plone tornam-no a escolha de CMS CORPORATE de Código Aberto para sites sofisticados. Sua versão 3.0 traz di- versos avanços e melhor suporte a aplicações corporativas. Notícias 22 ➧ Red Hat tem novo CEO

➧ SUSE Linux Enterprise Real Time

➧ Microsoft, OOXML e ODF

Entrevista: TOTVS 24 Artigo: ODF BB 26 Artigo: Sulamita Garcia 28 Artigo: Ricardo Bimbo 30 Coluna: Edgar Silva 31 Coluna: Cezar Taurion 32 PROGRAMAÇÃO Programação de sinais 75 Tutorial Para conectar a interface gráfica de um progra- LPI nível 2: Aula 8 53 ma ao restante do código, é preciso usar sinais. Configuração e manutenção de redes em suas di- versas modalidades. Conceito e prática sobre ende- reçamento, notas e ferramentas relacionadas.

Bloco compressor 58 O módulo cloop emprega a compressão na cama- da do dispositivo de blocos. Veja como os Live CDs en- SERVIÇOS caixam tantos softwares num único disco. Editorial 03 Emails 06 Linux.local 78 Eventos 80 Índice de anunciantes 80 Preview 82

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

volume de correspondência, é impossível responder a todas as sanja gjenero – www.sxc.hu EMAIL dúvidas sobre aplicativos, configurações e problemas de hardware que chegam à Redação, mas garantimos que elas são lidas e analisadas. As mais interessantes são publicadas nesta seção.

✎ Som em notebook blemas com algumas versões mais recentes do driver Sou usuário Linux há mais de cinco anos em desktops snd_hda_intel.ko, embora seja esse o módulo correto e leitor da Linux Magazine desde o seu primeiro exem- para o hardware em questão. plar. Contudo, todo o conhecimento que possuo em Talvez ajude passar uma opção para o driver, o Linux foi obtido de forma autodidata. Recentemente, que é feito com a adição da linha: adquiri um notebook Infoway W7635 da Itautec (Intel Core 2 Duo, 2 GB de RAM, 120 GB de disco). O mes- options snd_hda_intel model=NOME_DO_MODELO mo me foi entregue com o Windows Vista instalado, que logo foi substituído pelo XP e por Linux. Mas estou ao arquivo /etc/modprobe.d/options ou /etc/modprobe. tendo problemas com minha placa de som integrada conf. Os modelos podem ser encontrados no arquivo (Via, driver snd_hda_intel). Ela é reconhecida pelo Documentation/sound/alsa/ALSA-Configuration.txt, na sistema, seu driver é instalado e configurado normal- árvore do código-fonte do kernel. mente pelo alsaconf e tudo parace estar correto, mas O mesmo arquivo de documentação pode ser con- o som não funciona. Já testei o Ubuntu (6.10, 7.04 e sultado em: 7.10), Kurumin, Kalango, Big Linux, Mandriva, Open http://www.tamacom.com/tour/kernel/linux2/S/795.html Suse, Insigne, entre outros, e o som só apareceu nes- Espero que isso o ajude a resolver o problema ses dois últimos. Mas mesmo nestes, ele nem sempre com o som. funciona: no caso do Open Suse, ele só o faz quando Caso contrário, recomendo que você entre em eu manualmente desinstalo e reinstalo a placa de som contato com a lista de desenvolvimento dos drivers (e isso nem sempre funciona), e o som do Insigne li- de som ALSA, em www.alsa-project.org, e relate suas teralmente “só funciona quando quer”. dificuldades. Em nossas experiências no passado, os Vi pela Web que esta placa tem problemas no desenvolvedores mostraram-se bastante prestativos e Linux, mas as poucas soluções que tentei não de- interessados em ajudar em casos como esse. ■ ram certo. Caso vocês tenham a solução para esse impasse, eu ficaria muito grato se me fosse dado compartilhar dela. Errata Rodrigo Pereira Guimarães Resposta Na página 43 da edição 38 da Linux Magazine, o texto logo acima do título do artigo diz "Sexta aula da preparação LPIC-2", Prezado Rodrigo, o chip de som usado no chipset mas, como informa o título, trata-se da sétima aula. que equipa esse computador de fato apresenta pro-

6 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. O ano do Linux no desktop econômico? Augusto Campos

O avanço do sistema aberto em diferentes segmentos do mercado. por Augusto Campos COLUNA

final de 2007 trouxe algumas novidades inte- aplicativos on-line, como o Google Docs e seus ressantes para o Software Livre nos desktops congêneres. Sou usuário freqüente desse tipo de Oeconômicos. Não que essa presença em si aplicativo, e o acesso à Internet em banda larga seja uma novidade: no Brasil, por exemplo, existem está cada vez mais comum, tornando-os cada vez iniciativas desse tipo há anos, algumas delas até mes- mais disponíveis. Um fator adicional que diferen- mo com incentivo governamental e justificativas cia o gPC de vários outros computadores populares eminentemente ideológicas – mas, infelizmente, com Linux é que a sua interface com o usuário não poucas delas são bem-sucedidas no sentido de fa- tenta imitar o Windows® – ela é bastante diferen- zer com que o sistema operacional originalmente ciada (baseada no Enlightenment), e mesmo assim instalado nos computadores seja mantido lá após a os seus usuários marinheiros de primeira viagem compra. Francamente, tendo testado alguns deles, não se perdem – e enchem de elogios. eu mesmo não os manteria – embora no meu caso Outro exemplo de sucesso é o Eee PC, o subno- essa história não terminaria em um episódio de ins- tebook econômico da Asus que vem pré-instalado talação de um sistema operacional para o qual eu com uma distribuição Linux bastante diferenciada não possuísse licença de uso. no que diz respeito ao “look and feel” do desktop A novidade interessante são os relatos cada vez KDE. Sucesso de vendas e de crítica, o Eee é um mais freqüentes de ofertas (no exterior, principal- produto bem-sucedido por seus próprios méritos, mente) de computadores econômicos com Soft- e a escolha do sistema operacional certamente faz ware Livre pré-instalado, mas em uma forma que parte deles. atende a demandas existentes, e assim ele acaba Não se trata de excluir os aspectos ideológicos, sendo mantido (e de fato utilizado) pelo consumi- mas a escolha do sistema operacional e dos aplica- dor, que o adquire movido não apenas pelo preço tivos livres por razões de preço e funcionalidade é mais baixo, mas também pela funcionalidade ofe- bastante válida, e certamente pode ser um primeiro recida. Um exemplo típico é o do computador que passo para muitos usuários. Com sorte, o que vimos a Everex vendeu nas lojas da cadeia Wal-Mart dos no final de 2007 e começo de 2008 nessa área serão EUA, no período da volta às aulas por lá, trazendo apenas os movimentos precursores, e ainda haverá o OpenOffice.org pré-instalado. O sistema opera- muito mais pela frente. Estaremos aqui observando cional em si era proprietário, mas o computador e torcendo para que 2008 traga uma boa safra de trazia algo que o diferenciava da concorrência: código aberto nos desktops econômicos! ■ processador de texto, planilha e editor de apre- sentações capazes de manipular os arquivos mais comumente empregados nos ambientes escolares típicos, a um preço que o seu principal concorrente Sobre o autor dificilmente consegue bater: grátis. Augusto César Campos é administrador de Outro exemplo da dobradinha Everex Wal-Mart TI e, desde 1996, mantém o site BR-linux.org, é o gPC, o computador de US$ 200 que vem pré- que cobre a cena do Software Livre no Brasil instalado com uma versão modificada do Ubuntu e no mundo. (chamada gOS) e acesso facilitado a uma série de

8 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. PowerTOP Charly Kühnast Monitores enormes e CPUs mais rápidas parecem anular todos os avanços na tecnologia de baterias. O PowerTOP ajuda a manter o laptop rodando por mais tempo fora da tomada. por Charly Kühnast COLUNA Linux introduziu a versão tickless (literalmente, kernel. Por exemplo, o PowerTOP recomenda ativar CON- sem tique-taque, ou seja, sem um evento peri- FIG_USB_SUSPEND, um modo de economia de energia para O ódico para indicar e monitorar a passagem do USB que pode economizar aproximadamente um Watt. tempo) na versão 2.6.21 (ou 2.6.23, em máquinas de 64 Mais dicas e sugestões estão disponíveis online [2]. bits). Com isso, foi eliminado o timer legado de 250 Hz. Teoricamente, isso deveria aumentar o tempo de duração da bateria, pois o processador consegue permanecer no Sugadores modo de economia de energia por mais tempo. Mexer no kernel é fácil, mas e os aplicativos? O X.org Na realidade, o kernel não é o único fator: drivers, encabeça a lista dos sugadores de energia em vários daemons e aplicativos também podem atrapalhar sistemas, mas na verdade é apenas um espectador ino- sua estratégia de economia de energia, tornando o cente, com aplicativos como Firefox e Pidgin usando- recente avanço do kernel praticamente inútil. o. Para manter esses aplicativos sob controle, decidi aplicar patches a eles para assegurar que deixem a CPU dormir. Modifi cações funcionais para Firefox, Conheça o PowerTOP Pidgin, Evolution e outros programas pouco amigáveis Entra uma empresa global do Vale do Silício, cujo com- ao meio ambiente estão disponíveis em [3]. promisso com a comunidade do Código Aberto merece Até o momento está tudo bem, mas não espere mi- elogios – a Intel não apenas deixa os usuários de Linux feli- lagres. Mesmo depois de acatar as sugestões e aplicar os zes com drivers de vídeo, como também com ferramentas patches, a duração da bateria não deve atingir valores como o PowerTOP [1]. Sem alterações, o PowerTOP só estratosféricos. E patches de software não conseguem funciona com distribuições recentes. Nas mais antigas, é acabar com sugadores de energia como a tela do laptop. necessário confi gurar e compilar um novo kernel. Por outro lado, uma hora adicional de duração da bateria pode fazer a diferença entre a frustração de um vôo atra- sado e o bom uso da rede sem fi o do aeroporto. ■ Saída A saída do PowerTOP mostra os C states no canto Mais informações superior esquerdo. Quanto maior for esse número, menos energia é consumida pela máquina. [1] PowerTOP: À direita, pode-se ver os P states; esse valor mos- http://www.lesswatts.org/projects/powertop/ tra os diferentes níveis de consumo de energia em [2] Dicas e truques: CPUs capazes de alterar sua freqüência de acordo http://www.lesswatts.org/tips/ com o trabalho a fazer. A linha abaixo é importan- [3] Patches de economia de energia para te porque informa com que freqüência o sistema aplicativos: http://www.lesswatts. acorda a CPU – ou seja, de algum C state de baixo org/projects/powertop/known.php consumo. A Intel alega que é possível reduzir esse número para menos de 20 com pouco esforço. Uma linha abaixo, o PowerTOP exibe o wattímetro Sobre o autor e prevê quanto a bateria ainda deve durar. Finalmente, Charly Kühnast é administrador de sistemas a ferramenta mostra o ranking dos módulos hiperativos no datacenter Moers, perto do famoso rio numa lista dos mais condenáveis e dá dicas das confi gu- Reno, na Alemanha. Lá ele cuida, principalmen- te, dos fi rewalls. rações que podem ser alteradas para melhorar o quadro. As opções mais efi cazes costumam ter relação com o

10 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Pergunte ao Klaus! Klaus Knopper

O criador do Knoppix responde as mais diversas dúvidas de leitores. por Klaus Knopper COLUNA

Discos SATA /etc/fstab, através do item UUID=, em vez do nome Tenho dois discos SATA de 250 GB em modo de da partição. Espera-se que UUIDs sejam únicos, e a compatibilidade com IDE. O Windows XP está na atribuição automática de nomes que haja somente primeira partição do disco 1, o Fedora na segunda uma partição com um dado UUID em seu sistema. partição e o Ubuntu na terceira, com controle da Esse valor pode ser especifi cado na criação do sis- MBR. Ainda tenho outras duas partições Ext3 e al- tema de arquivos e alterado depois com tune2fs -U gumas partições NTFS para backups com o Acronis ou reiserfstune -uuid. True Image. Agora, de volta à pergunta. Na parte de parti- Gosto de experimentar outras distribuições Li- ções do seu fstab, é necessário informar algo para nux, o que causa mudanças nos IDs das partições. descrever o recurso para que o comando mount Depois, sempre enfrento problemas na inicialização encontre a partição para montar. Para isso, pode-se do Ubuntu e do Fedora. usar o nome da partição /dev/sda1, por exemplo, ou Normalmente, consigo entrar no Ubuntu, e ro- o UUID, que será procurado em todas as partições dar o blkid e editar o fstab de acordo. Já no Fedora (veja o arquivo /proc/partitions). costuma ser mais complicado. Por isso, pergunto: Pelo que parece, sua melhor opção seria espe- é possível confi gurar o fstab para aceitar mudanças cifi car os nomes dos discos no /etc/fstab de cada na ID das partições? distribuição instalada. Dessa forma, o comando Resposta mount vai sempre procurar uma partição específi ca Antes de responder sua pergunta, preciso explicar e constante, e não um UUID. alguns detalhes da nomenclatura de discos e par- Em teoria, o UUID não deveria mudar, a me- tições no Linux. nos que se tratasse de uma reinstalação de todo Além da diferença nos arquivos de dispositivos – o sistema de arquivos – o que pode ser o proble- hdN para IDE e sdN para SATA e SCSI – a ordem dos ma no seu caso, se você gosta de experimentar discos se comporta de maneiras diversas dependen- diferentes distribuições. do da tecnologia empregada. Enquanto hdb sempre Minha recomendação, nesse caso, seria não usar será o disco escravo na primeira controladora IDE, UUID=, e sim /dev/sda, /dev/sdb etc. a ordem dos discos sd* depende da ordem com que Se você gosta de fazer backups com freqüência são detectados. Então, a ordem de carregamento dos e restaurar instalações do Linux em partições dife- drivers das controladoras SATA, por exemplo, pode rentes daquelas onde foram instaladas na primeira fazer com que uma distribuição trate como sda o vez, então o uso de UUIDs é recomendável, pois disco que em outra recebe o nome de sdb, ou até ele permanecerá igual após a restauração do con- mesmo que um chaveiro USB adote o arquivo de teúdo para outra partição. ■ dispositivo antes conferido a um disco rígido. A ID da partição normalmente é o tipo da partição, que é um número que representa uma partição na- tiva do Linux ( 83) ou de swap ( 82), por exemplo. Sobre o autor Você provavelmente se refere ao UUID , o univer- Klaus Knopper é o criador do Knoppix e sally unique identifi er, ou identifi cador universalmen- co-fundador do evento Linux Tag. Atual- te único. O UUID fi ca no cabeçalho do sistema de mente ele trabalha como professor, progra- mador e consultor. arquivos que ocupa a partição, e pode ser usado para encontrar e identifi car um sistema de arquivos em

12 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Gabarito Agora não tem mais desculpas para o seu negócio ficar fora da Internet.

Hospedagem de sites ,00*

R$15 *para pagamento anual. Plano Start Plug In, hospedagem de sites Linux ou Windows mais todo o conteúdo exclusivo UOL, por ��������� - Linux e Windows apenas R$ 15,00* por mês. Entre agora mesmo. ����������� - Conexões Ilimitadas ������������������ - Ações Segmentadas

Powered by

Ligue e contrate: Contrate online: 4003-1001 www.plugin.com.br © Linux New Media do Brasil Editora Ltda. Crônicas do Kernel Zack Brown

Como sempre, novos recursos chegam e antigos segmentos de código são eliminados. A novidade é a união das arquiteturas.

COLUNA por Zack Brown

Sistema de arquivos distribuído sempre precisa ser ativada hoje em dia, essa prote- Sage Weil anunciou o Ceph, novo sistema de arquivos ção deixa de existir. distribuído para redes, licenciado sob a LGPL. Esse siste- A sugestão de Adrian não encontrou resistência, ma de arquivos faz balanceamento de carga automático mas configura uma mudança relativamente grande entre todos os nós, e possui outros recursos interessantes, na organização e apresentação de drivers do kernel; como semântica POSIX completa. O sistema de arqui- pode-se esperar ver algum debate antes que isso vos fornece um volume configurável de replicação de chegue às vias de fato. dados, o que permite que os nós cresçam ou diminuam sem interrupções no sistema, contanto que haja nós suficientes para abrigar todos os dados. Código e documentação velhos Sage originalmente começou esse trabalho como Adrian Bunk submeteu um patch para retirar a do- parte de sua tese de doutorado, o que significa que cumentação do driver de dispositivo Gracilis Packe- o Ceph está em desenvolvimento há algum tempo. Twin. O driver propriamente dito já está há anos Recentemente, a porção cliente foi implementada fora do kernel. Alan Cox concordou que o código sob o FUSE, facilitando o desenvolvimento do apli- já estava morto e devia ser excluído. cativo, mas prejudicando o desempenho e causan- Adrian ainda encontrou e apagou um antigo alerta do alguns problemas que só podiam ser resolvidos sobre uma falha que um dia existiu no NCSA Telnet, dentro do kernel. Sage preferiu fazer seu primeiro e David mais uma vez aplicou a mudança. Adrian pronunciamento somente agora porque finalmente removeu também a documentação do driver COMX, iniciou o desenvolvimento do substituto interno do cujo código foi eliminado há mais de três anos. kernel para o cliente FUSE. Isso melhora o desem- Além disso, Adrian encontrou um documento penho e geralmente é a forma mais correta. de 1997 que explicava as formas de ajustar o kernel para melhor desempenho. O arquivo estava tão ul- trapassado que ele o removeu. Recursos experimentais Recentemente, Dave Jones percebeu que uma Adrian Bunk sugeriu eliminar todo o conceito de das grandes uniões de código resultara em várias recursos “experimentais” no kernel. Ele planeja mudanças em nomes de arquivos na árvore dos submeter um patch para remover essa opção de fontes, e que muitos desses arquivos listavam seus configuração, juntamente com todas as depen- próprios nomes de arquivos nos comentários. Em dências dela em vários drivers; e alega ter muitos vez de tentar manter esses nomes de arquivos atu- motivos para isso. alizados, Dave imaginou que seria melhor eliminá- Em primeiro lugar, ativar a opção “experimental” los, e então submeteu um patch para fazer isso em no kernel padrão tornou-se uma prática usual nas distri- vários arquivos da arquitetura x86. ■ buições, simplesmente porque vários drivers dependem disso, embora não ofereça proteção ao usuário. Sobre o autor Além disso, os próprios drivers continuam de- pendendo dessa opção mesmo após atingirem a A lista de discussão Linux-kernel é o núcleo das atividades de desenvolvimento do kernel. maturidade. Isso vai contra toda a proposta de ha- Zack Brown consegue se perder nesse oce- ver a opção “experimental”, que seria proteger os ano de mensagens e extrair significado! Sua newsletter Kernel Traffic esteve em atividade usuários de enxergar opções de recursos do kernel de 1999 a 2005. que não estejam realmente prontas. Como a opção

14 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. ➧ PHP Foram encontradas várias vulnerabilidades no PHP. A A função money_format() não lida corretamente com função de quebra de linhas não verifica corretamente alguns itens. Se um aplicativo PHP for convencido a os comprimentos, e agressores remotos podem explo- processar um nome de formato mal formado, um agres- rar isso para causar o congelamento ou monopolizar sor remoto pode executar códigos arbitrários com os recursos da CPU, resultando numa negação de servi- privilégios do aplicativo. (CVE-2007-4658) ço. Estouros de inteiros foram descobertos nas funções Várias outras vulnerabilidades relacionadas ao PHP strspn e strcpn. Agressores poderiam explorar isso para também foram relatadas. Veja a página de segurança ler áreas arbitrárias da memória, possivelmente ganhan- do fabricante de sua distribuição. ■

INSEGURANÇA do acesso a informações importantes. (CVE-2007-3998, Red Hat: RHSA-2007:0890-2 CVE-2007-4657) Ubuntu: USN-549-1

➧ Cairo Ubuntu: USN-550-3 ➧ teTeX e TeX Live Múltiplas falhas de estouro de inteiros Uma vulnerabilidade no comando no aplicativo Cairo podem permitir dvips do pacote teTeX permite que que agressores remotos executem có- ➧ e2fsprogs usuários locais obtenham informa- digos arbitrários, como foi demons- Múltiplas falhas de estouro de inteiros ções importantes e modifiquem dados trado com o uso de uma imagem na libext2fs no pacote e2fsprogs permi- através da criação de arquivos tem- PNG especialmente criada, a qual tem que agressores remotos assistidos porários antes que sejam processados não é adequadamente interpretada por algum usuário executem códigos pelo dviljk, que então poderia ser lido pela função read_png(). (CVE-2007- arbitrários através de uma imagem ou modificado. (CVE-2007-5936) 5503) ■ de sistema de arquivo especialmente Um estouro de buffer no dvips do Gentoo: GLSA 200712-04 criada. (CVE-2007-5497) ■ teTeX permite ainda que agressores Red Hat: RHSA-2007:1078-3 Debian: DSA 1422-1 remotos assistidos por algum usuários Slackware: SSA:2007-337-01 Ubuntu: USN-555-1 executem códigos arbitrários através

Postura das principais distribuições Linux quanto à segurança

Distribuição Referência de Segurança Comentários Debian Info: www.debian.org/security Alertas de segurança recentes são colocados na homepage e distribu- Lista: lists.debian.org/debian-security-announce ídos como arquivos HTML com links para os patches. O anúncio tam- Referência: DSA-… 1 bém contém uma referência à lista de discussão. Gentoo Info: www.gentoo.org/security/en/glsa Os alertas de segurança são listados no site de segurança da distribui- Fórum: forums.gentoo.org ção, com link na homepage. São distribuídos como páginas HTML e Lista: www.gentoo.org/main/en/lists.xml mostram os comandos necessários para baixar versões corrigidas dos Referência: GLSA: … 1 softwares afetados. Mandriva Info: www.mandriva.com/security A Mandriva tem seu próprio site sobre segurança. Entre outras coisas, Lista: www1.mandrdrivalinux.com/en/flists.php3#2security inclui alertas e referência a listas de discussão. Os alertas são arquivos Referência: MDKSA-… 1 HTML, mas não há links para os patches. Red Hat Info: www.redhat.com/errata A Red Hat classifica os alertas de segurança como “Erratas”. Proble- Lista: www.redhat.com/mailing-lists mas com cada versão do Red Hat Linux são agrupados. Os alertas são Referência: RHSA-… 1 distribuídos na forma de páginas HTML com links para os patches. Slackware Info: www.slackware.com/security A página principal contém links para os arquivos da lista de discussão Lista: www.slackware.com/lists (slackware-security) sobre segurança. Nenhuma informação adicional sobre segurança no Referência: [slackware-security] … 1 Slackware está disponível. Suse Info: www.novell.com/linux/security Após mudanças no site, não há mais um link para a página sobre se- Lista: www.novell.com/linux/download/updates gurança, contendo informações sobre a lista de discussão e os alertas. Referência: suse-security-announce Referência: SUSE-SA … 1 Patches de segurança para cada versão do Suse são mostrados em vermelho na página de atualizações. Uma curta descrição da vulnera- bilidade corrigida pelo patch é fornecida. Ubuntu Ubuntu Info: www.ubuntu.com/usn O Ubuntu, baseado no Debian, mantém um sistema de atualizações Lista: lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce de segurança independente. Muitas notas do Debian podem ser apli- Referência: USN-... 1 | cadas também ao Ubuntu. | 1 Todas as distribuições indicam, no assunto da mensagem, que o tema é segurança.

16 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Segurança | NOTÍCIAS de um arquivo DVI com uma tag dos executem códigos PHP arbitrários ➧ Ruby-Gnome 2 href longa. (CVE-2007-5935) através do parâmetro edit numa ação Uma vulnerabilidade de formatação de Por último, múltiplos estouros de bu- upd cmd. (CVE-2007-5693) cadeias de texto na função mdiag_initia- ffer no teTeX e no TeXlive 2007 permitem Uma vulnerabilidade de travessia lize() em gtk/srsc/rdgtkmessagedialog.c que agressores assistidos por algum usu- de caminho no módulo de tradução no Ruby-Gnome 2 permite que agressores ário executem códigos arbitrários através permite que usuários remotos auten- dependentes de contexto executem códi- de um arquivo de entrada DVI especial- ticados leiam arquivos arbitrários gos arbitrários através de especificadores mente criado. (CVE-2007-5937) ■ através de um caminho absoluto no de nome de formato no parâmetro da Mandriva: MDKSA-2007:230 parâmetro dir. (CVE-2007-5694) mensagem. (CVE-2007-6183) ■ Ubuntu: USN-554-1 Um erro em command.php permite Debian: DSA 1431-1 que agressores remotos redirecionem Fedora: Fedora-2007-4229 usuários para websites arbitrários Gentoo: GLSA 200712-09 ➧ Samba através do parâmetro forward numa O comando nmbd não verifica correta- ação de login. (CVE-2007-5695) mente o comprimento de pacotes Net- Múltiplas falhas do tipo cross-site ➧ OpenLDAP BIOS. Quando o Samba é configurado scripting permitem que agressores re- O OpenLDAP anterior à versão 2.3.39 como servidor WINS, um agressor re- motos injetem fragmentos de scripts permite que agressores remotos cau- moto pode enviar múltiplas requisições ou HTML em vários scripts. (CVE- sem uma negação de serviço através especialmente criadas, o que resulta na 2007-5692) ■ de uma requisição LDAP com o execução de código arbitrário com privi- Debian: DSA 1423-1 atributo objectClasses mal formado. légios de root. (CVE-2007-5398) ■ Gentoo: GLSA 200711-05 (CVE-2007-5707) Debian: DSA 1409-3 O Slapd não termina um vetor Fedora: Fedora-2007-3402 adequadamente quando roda como Gentoo: GLSA 200711-29 ➧ Firefox servidor proxy com cache. Um agres- Mandriva: MDKSA-2007:224 Foram descobertas várias vulnera- sor remoto pode enviar requisições de Red Hat: RHSA-2007:1013-7, RHSA- bilidades no Firefox. O navegador busca especialmente criadas para o 2007:1016-4, RHSA-2007:1017-6 associa incorretamente sites redire- servidor, causando assim uma negação Slackware: SSA:2007-320-01 cionados como origem de conteúdos de serviço. (CVE-2007-5708) ■ SUSE: SUSE-SA:2007:065 jar:. Um website malicioso poderia Fedora: Fedora-2007-3124 Ubuntu: USN-544-1 explorar isso para modificar ou roubar Ubuntu: USN-551-1 dados confidenciais (como senhas, por exemplo) de outros websites. ➧ Sitebar (CVE-2007-5947) Várias vulnerabilidades remotas foram Várias falhas foram descobertas descobertas no sitebar, um gerenciador nos mecanismos de layout e Java- de bookmarks baseado na Web escrito em Script. Enganando um usuário para PHP. Uma vulnerabilidade de travessia abrir uma página web maliciosa, de diretórios no módulo de tradução per- um agressor poderia executar códi- mite que usuários remotos autenticados gos arbitrários com os privilégios do usem o comando chmod sobre arquivos usuário. (CVE-2007-5959) arbitrários para alterar as permissões para É possível usar JavaScript para 0777 através de seqüências .. no parâ- manipular o cabeçalho Referer do metro lang. (CVE-2007-5491) Firefox. Um site malicioso poderia Uma vulnerabilidade de injeção explorar isso para forjar requisições de código no módulo de tradução cross-site contra sites que se baseiam permite que um usuário remoto somente em cabeçalhos Referer para autenticado execute código PHP proteção contra tais ataques. (CVE- arbitrário através do parâmetro de 2007-5960) ■ valor. (CVE-2007-5492) Debian: DSA 1424-1 Uma vulnerabilidade de injeção Red Hat: RHSA-2007:1082-5 em eval no módulo de tradução per- SUSE: SUSE-SA:2007:066 mite que usuários remotos autentica- Ubuntu: USN-546-1

Linux Magazine #39 | Fevereiro de 2008 17 © Linux New Media do Brasil Editora Ltda. ➧ Lançado o KDE 4.0 No dia 11 de janeiro foi lançada finalmente a versão 4.0 guns subsistemas. Na área de multimídia, o criticado do ambiente desktop KDE. As novidades e melhorias servidor aRts foi substituído pelo , um ver- são inúmeras e passam por todas as partes da estrutura dadeiro framework multimídia multiplataforma, com do ambiente gráfico. potencial de desempenho muito superior à solução Internamente, a nova biblioteca ThreadWeaver anterior. O Solid, novo sistema de interface com o

NOTÍCIAS realiza a distribuição de threads, melhorando po- hardware, traz melhorias no consumo de energia e tencialmente o desempenho de todo o ambiente facilita a interação com o hardware, como dispositi- em sistemas dotados de múltiplos núcleos ou pro- vos removíveis (pendrives, disquetes, discos rígidos cessadores. As novidades em outras bibliotecas que externos, cartões de memória), conectividade de compõem o K Desktop Environment permitem ainda, rede e bluetooth. entre outras funcionalidades, o uso de arte vetorial No campo das aparências, o gerenciador de janelas em todos os seus aplicativos, houve a estréia de al- interno do KDE, o KWin, ganhou a capacidade de usar a extensão Compose do Xorg e assim lidar com os sofisticados e atraentes efeitos 3D, o que é explorado pelo Plasma, novo conjunto de painel, menu, widgets e o novo dashboard. Já entre os aplicativos, algumas antigas alternativas foram substituídas, como a troca dos múltiplos visua- lizadores de documentos (KPDF, KDVI e Kghostview) pelo unificado – que pretende ser um leitor universal de documentos, suportando muitos outros formatos – e a substituição do famoso gerenciador de arquivos pelo , embora tenha sido mantido seu papel de navegador web. O Oxygen, novo tema gráfico (incluindo ícones, decorações de janelas etc.), também contribui com novos ares para o KDE 4.0, abusando de arte vetorial e animações para oferecer uma nova experiência ao usuário. ■

➧ Cinco anos de Creative Commons As festas em comemoração da data No último mês de dezembro a iniciativa Creative Com- ocorreram em diversas cidades, como mons comemorou seu quinto aniversário. De acordo com Bangalore, Belgrado, Berlim, Los Ange- a carta publicada por Lawrence Lessig, professor de Direito les, Nova York, Manila e São Francisco. na Universidade de Stanford e um dos idealizadores do mo- Com as comemorações, foram lançadas vimento, em seu blog, há cinco anos a iniciativa começou também duas novas licenças. Enquanto a “implementar um conjunto de artimanhas legais (legal a CC+ é descrita como “um protocolo hacks, no original) para permitir que o sistema de direitos para permitir uma forma simples para autorais refletisse melhor a visão de muitos artistas, autores, os usuários obterem direitos superiores educadores e cientistas”. Lessig afirma, “algumas dessas àqueles fornecidos por uma licença CC”, idéias falharam. Mas seu núcleo floresceu – muito além o protocolo CC0 “permite que as pessoas dos nossos maiores sonhos daquela época. Nós tomamos estabeleçam a inexistência de restrições as idéias do movimento do Software Livre e as tornamos legais associadas a uma obra”. Os direi- reais no espaço da cultura, ciência e educação. Agora já tos adicionais oferecidos pelo protocolo existe uma língua para sinalizar as liberdades que os cria- CC+ tratam principalmente da explora- dores suportam, e um conjunto de ferramentas legais e ção comercial de obras licenciadas sob técnicas para assegurar essas liberdades”. uma licença CC. ■

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

➧ PC com Linux por US$ 199 ➧ Yahoo abre plataforma móvel Mais um fabricante de PCs se rende aos encantos do Software O fundador e CEO do Yahoo, Jerry Yang, anunciou na CES o pro- Livre em PCs de baixo custo. Dessa vez foi a Shuttle, empre- tótipo das diretrizes para a criação de aplicativos para dispositivos sa de renome na fabricação de computadores poderosos em móveis. O movimento de um dos símbolos da Internet e eterno formato reduzido (SFF, ou Small Form Factor), os chamados rival do gigante Google vem em resposta ao lançamento por este Barebones, que ingressou no grupo dos que oferecem sistemas da plataforma Android. ultra-simples e de baixíssimo custo com Linux pré-instalado. Yang pretende facilitar a construção de aplicativos desti- Seu KPC será vendido por US$ 199, de acordo com um nados a dispositivos móveis usando a plataforma do Yahoo. anúncio feito na maior feira de eletrônicos do planeta, a Com a criação de novos widgets, a empresa espera atrair mais CES, que ocorreu na cidade de Las Vegas, EUA, em ja- cliques de usuários móveis, potencialmente incrementando neiro. Embora a distribuição que vai equipar a diminuta a receita proveniente da venda de publicidade online. máquina ainda não tenha sido definida, seu interior conterá Junto com a abertura do Yahoo a contribuidores externos, a um processador Intel Celeron, chipset Intel 945GC, 512 companhia anunciou ainda seu site renovado para o público móvel, MB de memória e 60 ou 80 GB de disco rígido. Ausências além de novos recursos em seu serviço gratuito de emails. ■ certas são um leitor óptico e slots PCI Express. Em relação ao visual, o gabinete será pequeno e cúbico, com diversas opções de cores: preto, branco, vermelho e azul. De acordo com o faricante, também será produzido, até o final do primeiro trimestre de 2008, um PC barebones por US$ 99, com opção de upgrade para processador Intel Core 2 Duo e 1 GB de memória. ■

© Linux New Media do Brasil Editora Ltda. ����� ������Tecnologia aSúmario serviço do crescimento da sua empresa.

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

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

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

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

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

Kenos_Anuncio2.indd 2-3 21.01.08 14:54:57 ➧ Red Hat tem novo CEO Após mais de nove anos à frente de um dos maio- Red Hat participarão de todos os projetos de Código res expoentes do Software Livre mundial, Matthew Aberto liderados pela Sun. Szulik anunciou, nos últimos dias de dezembro do Foi assinado ainda um acordo de licenciamento do último ano, que estava deixando o cargo de Chief Java SE Technology Compatibility Kit, que garante à Red Executive Officer da Red Hat. Em seu comunica- Hat o acesso ao ambiente de teste que tem como objetivo do, Szulik alegou motivos pessoais e familiares para avaliar o cumprimento das especificações do Java SE 6.

CORPORATE a decisão. Com isso, as contribuições da Red Hat à OpenJDK se- Poucos dias depois, a diretoria da empresa de rão compartilhadas com a Sun e, como se trata de um Raleigh, Carolina do Norte, anunciou à imprensa software livre, com todos os usuários. seu novo CEO, Jim Whitehurst. Jim, graduado em Em breve, a companhia de Raleigh também incluirá um ciência da computação, foi COO da Delta Airlines JRE no Red Hat Enterprise Linux, potencialmente acelerando e o principal responsável por afastar a companhia o middleware JBoss através de importantes otimizações. aérea da falência. Virtualização do Windows Receita maior no trimestre A última conquista da Red Hat em 2007 não foi pequena. Em A mudança no comando da Red Hat ocorreu um mês parceria com a Intel, a empresa anunciou, ainda no fim do ano, após o anúncio de que sua receita no terceiro trimestre o lançamento da primeira versão beta de seu software Embedded fiscal de 2008 atingira o valor de US$ 135,4 milhões, IT (EIT) 3.0. Esse programa permite a execução de sistemas 28% superior ao mesmo período do ano anterior. Desse Windows® XP e Vista sobre o hypervisor Xen com Red Hat valor, US$ 115,7 milhões foram provenientes de subs- Enterprise Linux, contudo sem permitir ao sistema hóspede crições, um total 30% maior que o terceiro trimestre (Windows, no caso) acesso total à interface de rede. fiscal de 2007. Com o acesso indireto à rede, é possível filtrar o conteú- do antes de repassá-lo à interface virtual, a qual se comunica com a máquina virtual. Mas esses avanços dependem tam- Cooperação com a Sun pelo Java bém do hardware: é necessário um processador com supor- A empresa anunciou também, já em janeiro, um te à tecnologia de virtualização da Intel (VT-x) e um chipset acordo com a Sun Microsystems para que a Red que ofereça o recurso de computação confiável, ou trusted Hat participe do desenvolvimento do Java de Códi- computing, para impedir que a máquina virtual Windows go Aberto. Com o acordo, todos os engenheiros da seja infectada por pragas. ■

➧ SUSE Linux Enterprise Real Time essas rotinas de trabalho oferecem desempenho previsível No último dia 18 de dezembro, a empresa de Utah em ambientes onde o tempo é fator primordial”. anunciou o lançamento do SUSE Linux Enterprise Atualmente, a Novell é a única distribuidora Linux a Real Time 10. O sistema é voltado às aplicações de oferecer comercialmente um sistema de caráter corpo- alta performance e missão crítica, evidentemente em rativo com essas características. tempo real, o que beneficia principalmente institui- ções financeiras. De acordo com o anún- Boas vendas, mas ainda no vermelho cio oficial, o novo sistema Apesar do aumento nas vendas – de US$ 919,3 milhões, permite ao administrador no início do ano, para US$ 932,4 milhões –, a Novell “segmentar áreas de seus amargou, em seu quarto trimestre fiscal de 2007, um processadores para tarefas de saldo negativo de US$ 17,9 milhões, enquanto o mes- alta prioridade, além de asse- mo período em 2006 resultou em saldo positivo de US$ gurar que outros processos e 19,87 milhões. tarefas do sistema não os in- No próximo ano fiscal, a empresa espera uma receita terrompam. Isso significa que de US$ 945 milhões. ■

22 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Notícias | CORPORATE

➧ Microsoft, OOXML e ODF CodePlex, o laboratório Porta 25 e uma página de A Microsoft está trabalhando com um grupo de espe- perguntas freqüentes. cialistas do Instituto Fraunhofer para Sistemas Abertos de Comunicação (FOKUS) para desenvolver uma téc- nica de conversão entre os formatos Office Open XML Microsoft versus Opera (OOXML), padrão da versão mais recente do pacote Enquanto isso, a norueguesa Opera, fabricante do Office da gigante de Redmond, e o Open Document navegador web de mesmo nome, apresentou à União Format, apoiado pela ISO. Européia uma queixa contra a companhia de Ballmer. Uma solução possível está em desenvolvimen- De acordo com a ação da Opera, a Microsoft abusou to no Instituto Alemão de Padronização, DIN. de sua posição de liderança no mercado de sistemas Representantes da Microsoft informaram que a operacionais para desktops ao favorecer seu navegador empresa está trabalhando há cinco meses com a Internet Explorer. Novell nesse projeto e também com participantes O CEO da empresa norueguesa, Jon von Tetzchner, do Instituto Francês de Padronização, em regime informou que a reclamação feita à comissão da UE foi intensivo, para construir “pontes” entre os dois dirigida também a todos os consumidores que se sentem formatos de documentos. prejudicados pelas ações da gigante americana, e pediu que futuras versões do sistema operacional da empresa sejam comercializados com outros softwares pré-instalados. Código Aberto em português Na reclamação, a Opera cita o julgamento da pri- O interesse da empresa de Steve Ballmer pelo Có- meira instância da ação movida contra a Microsoft digo Aberto já pode ser explorado em português. No em virtude da inclusão do Windows Media Player no site http://www.microsoft.com/brasil/opensource, a Mi- sistema operacional, no qual a empresa americana foi crosoft relata suas parcerias com empresas e projetos derrotada, e pede que o mesmo princípio seja aplicado de Código Aberto, com links para seu repositório ao navegador web. ■

Linux Magazine #XX | Mês de 200X 23 © Linux New Media do Brasil Editora Ltda. Entrevista com Weber Canova, vice-diretor de Tecnologia do Grupo TOTVS O todo da TOTVS

A TOTVS, nascida da fusão de grandes empresas de ERP nacionais, como a Microsiga, Logocenter e RM Sistemas, cresce na América Latina e firma acordos de interoperabilidade com a IBM, de olho no mercado de servidores e desktops Linux. por Pablo Hess CORPORATE

Linux Magazine» A TOTVS firmou Do ponto de vista do cliente, o LM» Existe a possibilidade de acordos recentemente um acordo de coope- que nos levou a fazer essa coope- do mesmo tipo com outros distribui- ração com a IBM. O que é firmado ração foi facilitar a vida do usuá- dores de Linux e Código Aberto? nesse acordo? O que ele significa rio final, não-técnico, de desktops WC» Sim, existe. Esses projetos serão para os clientes da TOTVS? Linux. Esse usuário é carente de mostrados no tempo certo, mas já es- Weber Canova» Já estamos desenvolvendo aplicações de produtividade – não tamos trabalhando em conjunto com um projeto em conjunto com a IBM que elas inexistam, afinal existe o algumas distribuições Linux. Apesar das há cerca de um ano pelo menos. Nele, OpenOffice.org, entre tantas outras. várias opções no mercado, vamos nos contemplamos uma integração entre os Queremos, contudo, facilitar a vida restringir a duas ou três distribuições, ERPs (Microsiga, Logocenter) do grupo do usuário final, fornecendo um ní- para fechar um pouco mais o escopo, TOTVS e a suíte de aplicações da linha vel maior de integração. Com isso, de acordo com nossos objetivos. Notes, como o Lotus Notes. O RM não esperamos fortalecer o Linux como é contemplado nesse acordo atual, já desktop. Nosso projeto de integração LM» Além de oferecer o servidor Mi- que ele é baseado na plataforma .NET fará com que dados do ERP possam crosiga, chamado de Protheus, para da Microsoft. Fizemos esse acordo em ser enviados para os documentos do Linux e desse recente acordo com vista do lançamento, naquela época ain- Lotus Notes – como documentos de a IBM, qual é o envolvimento da da não ocorrido, do Lotus Symphony, texto e planilhas, por exemplo – de TOTVS com o Código Aberto? que é de código aberto. maneira automática, sem a geração WC» Vamos ter de contar um pouco de arquivos temporários. O inverso de história: no início, nossa empresa também pode ser feito: passagem possuía apenas o Microsiga ou Pro- de informações de documentos do theus. Já nessa época, todas as nossas Lotus Notes para dentro da base ferramentas de desenvolvimento – e de dados do ERP. Tudo isso sem a própria linguagem de programação programação nem uso de arquivos utilizada para sua criação – foram texto intermediários. criadas pela própria empresa. Toda a nossa base de desenvolvimento foi LM» Então, o acordo visa exclusiva- feita em C. mente, desktops Linux? Quando, em 2006, a Microsiga WC» Prioritariamente sim, mas não adquiriu a Logocenter, notamos exclusivamente, já que ele pode con- várias semelhanças entre a lingua- templar outras plataformas em que gem de programação utilizada por existam versões do Lotus - situação eles e a nossa, e incorporamos essa em que o Lotus Notes para Windows linguagem para uso em nosso ser- e o RM Sistemas também podem ser vidor de aplicação. Figura 1 Weber Canova, vice-diretor de objeto de um acordo. Por ora, esta- Como o nome Protheus está muito Tecnologia do Grupo TOTVS. mos focados apenas em Linux. ligado à Microsiga, resolvemos criar um

24 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Entrevista TOTVS | CORPORATE

novo produto, renomeando o servidor de WC» Sim. As empresas que estão com acréscimo em seu nível de confian- aplicação. O conjunto de ferramentas o Windows normalmente têm um cer- ça: essa confiança já existe. para servidor de aplicação passou a se to receio em abandonar esse sistema chamar TOTVS Tech, com as mesmas operacional. Isso porque o pessoal de LM» Com esse aumento no nível características para todos os produtos: TI habituado a lidar com o Windows de confiança, surgiram, inclusive, servidores de aplicação, terminais de costuma ter certa dificuldade em mol- diversos ERPs e CRMs de Código acesso para clientes (interface do usuá- dar-se a sistemas Unix-liked. Aberto. A TOTVS os percebe como rio), suporte multiplataforma. Tudo isso O cliente – e conseqüentemente seu seus concorrentes? visa o desenvolvimento independente de pessoal de TI – que já está utilizando o WC» Sinceramente, não. Aqui na sistema operacional e da interface. Unix comercial vê o Linux com certa TOTVS necessitamos de uma equi- Após termos portado tudo isso para familiaridade: os sistemas são equiva- pe de 50 pessoas para modificar con- C, notamos que o Linux era uma pla- lentes – portanto, não há problemas tinuamente nosso ERP com todas as taforma excelente para servidores de com quebra de paradigma, ele já está atualizações da legislação fiscal bra- aplicação, substituindo atualmente em um ambiente que domina. Além sileira. Não vejo como equipes de de- vários outros sistemas, incluindo ou- disso, há uma vantagem evidente no senvolvimento de Código Aberto com tros sistemas baseados em Unix. O fator custo: para um servidor de apli- desenvolvedores voluntários seriam motivo é claro: combinando o fator cativo em que o maior consumo é de capazes de cumprir prazos críticos plataforma de hardware com o custo memória e de processamento intensi- como esse das atualizações fiscais, do sistema operacional, o Linux ofere- vo, sobretudo em bancos de dados, há que atingem em cheio o compro- ce um excelente custo-benefício. Isso uma grande vantagem em se substituir misso fiscal das empresas onde, por exemplo, deve-se entregar, imprete- rivelmente, um relatório fiscal até o Combinando o fator dia 30 de um determinado mês, sob plataforma de hardware pena de multa.

com o custo do sistema LM» Quem são, hoje, os principais operacional, o Linux oferece concorrentes do Microsiga e do um excelente custo-benefício. Logocenter? WC» Dentre as empresas maiores, te- mos SAP, Oracle e Datasul, que são teve uma importância muito grande máquinas de plataforma x86 rodando nossos principais concorrentes. Há para nós: hoje 30% da base instalada Linux, em detrimento de sistemas Unix também empresas regionais, que con- da Microsiga é de servidores Linux. rodando em máquinas RISC, nas quais correm conosco por todo o Brasil. No caso do Logocenter esse número a aquisição de processadores e memó- chega a 90% dos servidores. rias tem um custo mais alto. LM» Quais são as áreas em que a Um número muito menor do que TOTVS tem a intenção de investir esse, cerca de 5% dos 30% citados an- LM» Você acredita que o nível de con- no ano de 2008? teriormente, utiliza Linux também em fiança no Linux está aumentando? WC» De forma mais massiva, na in- seus desktops. Apesar disso, acredita- WC» Sim. Recentemente estive no Intel tegração entre servidores de aplica- mos no desktop Linux e nas vantagens Developer Forum, na Califórnia, e per- ções e ferramentas de produtividade, inerentes ao seu modelo, incluindo a cebi o grande valor que é dado ao Linux da qual já falamos nesta entrevista. redução de custos com licenças. – inclusive com a valorização do Linux Também pretendemos investir em como desktop, por conta da popularida- mobilidade, já que vimos, lá fora, LM» Você citou anteriormente um de do Ubuntu. Lá, vimos o pessoal da muitos dispositivos móveis com Li- dado que é continuamente repe- Canonical participando ativamente de nux embarcado, e pretendemos já tido por nossos entrevistados da palestras e anunciando novas plataformas ter um produto pronto assim que área corporativa: a substituição de de desenvolvimento, como dispositivos esse tipo de hardware chegar ao servidores Unix comerciais pelo Li- móveis, entre outras coisas. mercado. Também pretendemos nux, historicamente maior do que a Observando esses movimentos do investir em ferramentas de produti- substituição de servidores Windows. mercado e seus protagonistas, como vidade próprias, integradas ao nosso Você tem a mesma percepção sobre IBM e a própria Intel, eu diria até ERP, além de segurança, que é um essa tendência? que o Linux não deve esperar um objetivo constante. ■

Linux Magazine #39 | Fevereiro de 2008 25 © Linux New Media do Brasil Editora Ltda. Padrão Aberto, Prêmio Certo: primeiro artigo selecionado Ampla adoção

Conheça o primeiro dos três vencedores do concurso Padrão Aberto, Prêmio Certo, que relata casos de sucesso de CORPORATE adoção de padrões abertos. por Dinis Agostinho

m todo o Brasil há várias his- onde o centro de pesquisas da IBM complexas, verificamos que o Open- tórias de adoção de padrões apresenta suas tecnologias. Office.org atendia perfeitamente às Eabertos por empresas dos O primeiro artigo selecionado pe- necessidades da empresa, com o di- mais diversos tamanhos e setores. A los representantes da ODF Alliance ferencial de utilizar como formato Linux Magazine, em parceria com o e da IBM relata a adoção do formato o ODF (OpenDocument Format), Portal de Tecnologia developerWorks, ODF junto ao pacote de aplicativos padrão aberto de documentos ele- da IBM, e a ODF Alliance, lançou de escritório OpenOffice.org no Ban- trônicos, o que flexibiliza a utiliza- o concurso Padrão Aberto, Prêmio co do Brasil. ção do formato por outros editores Certo com o objetivo de selecionar compatíveis, independentemente da os três casos de sucesso mais sig- plataforma utilizada. nificativos na adoção do formato ODF no BB Em 2006, com a aceitação do pa- de documentos de escritório ODF Com a instalação do pacote de apli- drão OpenDocument Format pela (OpenDocument Format). cativos de escritório OpenOffice.org ISO (sob a denominação ISO/IEC O Portal de Tecnologia IBM de- 2.0 nas estações de trabalho da rede 26300), a escolha pelo OpenOffice. veloperWorks é um importante repo- de agências e do ambiente de escri- org mostrou-se acertada. O aval dessa sitório de documentação altamente tório, em 2005, o Banco do Brasil entidade assegura e fomenta seu uso relevante para todos os profissionais passou a usar padrões abertos de por órgãos governamentais e grandes de TI. Alguns dos seus destaques são a documentos. Após a realização de empresas públicas e privadas que têm opção de download gratuito dos soft- uma bateria de testes, provas de con- suas diretrizes de governança ligadas wares IBM para teste, dando acesso às ceitos e validação de requisitos com diretamente a padrões internacionais ferramentas do DB2, Lotus, Rational, usuários de necessidades variadas de qualidade. Com isso, o desenvol- Tivoli e WebSphere, os webcasts, que – desde básicas, como uma simples vimento do OpenDocument Format possibilitam o treinamento online e edição de texto, até avançadas, como passou a estar mais disponível a todos presencial, e o alphaWorks, espaço a utilização de planilhas eletrônicas os interessados, diferentemente do

26 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ODF no BB | CORPORATE

modelo de formato de documentos Podemos tornar nossa plataforma diferentemente do que ocorre com as predominante utilizado, no qual mais próxima das necessidades e estra- licenças de outros softwares proprie- apenas a detentora do formato era tégias de nossos negócios, e também tários correlatos, pois seus custos de responsável por sua atualização. manter a interoperabilidade interna aquisição e evolução limitam a quan- Considerando aspectos técnicos, e externa em escala global. Já traba- tidade de licenças por usuário, dessa uma das grandes qualidades do ODF lhamos com outros softwares além do forma dificultando a manutenção de é a modularização no armazenamen- BrOffice.org que utilizam o formato um grande número de instalações da to das informações, realizada num ODF, como por exemplo o Abiword mesma versão do software, o que por único arquivo comprimido. Isso re- e o KOffice. Estamos implantando sua vez gera problemas na manipula- duz de forma significativa o custo de ferramentas de colaboração capazes ção e acesso aos arquivos. Em outras armazenamento, além da segurança. de exportar nesse formato, além de palvras, com o OpenDocument, todos Além disso, a transparência e robustez já haver na Internet editores de tex- caminham juntos. do padrão XML no tratamento dessas to online como o Google Docs que A possibilidade de todos os funcio- informações, independentemente de podem usar esse formato tanto para nários terem acesso aos documentos aplicativo, tornam seu comportamen- importação quanto exportação. corporativos, graças aos padrões aber- to sempre o mesmo. Atualmente, trabalhamos com to- tos, permite uma maior equalização e das as extensões do formato OpenDo- perenidade do conhecimento, demo- Predominância cument. Trabalhamos intensamente cratiza o acesso às informações públi- com documentos de texto, planilhas cas e, conseqüentemente, fortalece as proprietária e apresentações; porém, por sermos bases estratégicas da empresa. Um exemplo da percepção da atual um conglomerado financeiro, não A adoção do formato ODF não res- predominância do padrão proprietário deixamos de lado o uso de gráficos tringe plataforma ou aplicação, favore- de documentos de escritório são alguns e fórmulas matemáticas. cendo o livre intercâmbio de arquivos tipos de comentários muito freqüentes Em pouco mais de dois anos, já e assegurando a interoperabilidade dos no ambiente de trabalho, como: “Enviei são mais de 3 mil arquivos gerados em mesmos. Essa padronização baseada aquele powerpoint para a reunião”, “Es- padrões abertos no Banco do Brasil, em formatos abertos também torna as tão em word aquelas informações para um crescimento 400% maior que a empresas usuárias do formato ODF in- fecharmos o relatório”. Antes do surgi- geração de arquivos proprietários. dependentes de fornecedor (eliminando mento do padrão ODF, associávamos o Esses números são crescentes, e a o chamado vendor lock-in), prevenindo programa ao documento. Hoje, após dois adesão mostra-se muito forte, tanto situações que possam ser criadas por anos da implantação do OpenOffice. em estações GNU/Linux como em padrões privados estabelecidos por so- org, passamos a divulgar os documentos Windows. Em nossos fóruns na Intra- luções comerciais. pela sua finalidade (planilha, apresen- net Corporativa, são trocadas muitas O mercado como um todo vem tação, texto etc.) e não pelo programa mensagens acerca de dicas e formas caminhando de tal forma que em utilizado, o qual, por definição, deve de utilização do ODF. um futuro próximo será inevitável poder ser escolhido dentre uma vasta As mensagens corporativas tiveram a adoção de formatos livres para variedade de opções. seus tamanhos reduzidos significativa- documentos. ■ Os princípios que norteiam nos- mente quando passamos a adotar o sos ambientes computacionais tra- formato ODF para arquivos anexos de tam da existência de possibilidades email, além de beneficiar sem quais- e da elaboração de estratégias de quer restrições todos os usuários, que Sobre o autor utilização, sem criar restrições em podem realizar leitura e edição dos Este artigo foi escrito por Dinis Agostinho nossa infra-estrutura vinculadas a conteúdos, sem perda de informações. dos Santos no ambiente Wiki do Banco do Brasil com a colaboração do núcleo de Soft- um único sistema operacional ou Isso se deve aos aplicativos compatíveis ware Livre e da Diretoria de Comunicação. aplicação. Seguindo isso, consegui- com o formato aberto, a exemplo do Dinis é bacharel em Ciências da Computa- mos viabilizar a convivência de mais BrOffice.org, que são softwares livres ção e pós-graduado em Negócios Finan- de 60 mil estações GNU/Linux na e, portanto, não requerem pagamento ceiros. Trabalha no Banco do Brasil há oito rede de agências com outras 30 mil de licenças e têm uso irrestrito, pos- anos, e desde 2002 exerce suas atividades na Diretoria de Tecnologia, sendo atualmen- máquinas Windows® na rede de es- sibilitando que se alcance todos os te Assessor Sênior de TI na equipe de Soft- critórios. São, no total, mais de 90 funcionários do conglomerado. Além ware Livre da instituição, composta pelo Gerente de Núcleo Vilson Carlos Pastro, mil estações aptas a utilizar o padrão disso, a abertura do ODF o mantém em Murilo, Lídia, Rubens, Rafael e Kraucer. aberto ODF pelos usuários. linha com seu crescimento vegetativo,

Linux Magazine #39 | Fevereiro de 2008 27 © Linux New Media do Brasil Editora Ltda. CORPORATE

Carsten Issels - www.sxc.hu Código Aberto nos diferentes países Estágios Evolutivos Nem todos os países se encontram no mesmo estágio evolutivo em relação a compreensão, adoção e maturidade do mercado de Código Aberto. por Sulamita Garcia

enho viajado bastante e quer dizer que todos passaram para vai copiar tudo e me tirar do negó- participado de eventos em outros estágios da mesma forma, cio!”, e “deve ser ruim por ser de Tlugares e culturas muito nem que isso seja uma métrica rí- graça” [1]... E lá vai a comunidade diversos. Gosto muito de observar gida e comprovada cientificamente, começando, mesmo os que usam e aprender como funciona cada apenas baseada em observações e Linux “desde o SLS/Slackware 2/ comunidade, e, por conseqüência, informações trocadas. versão 0.9 do kernel”, mas que fa- compartilho também minhas im- Na primeira fase, a predominân- ziam um trabalho mais de Mestre pressões com pessoas que têm as cia no debate fica por conta das dos Magos que de propagadores. mesmas oportunidades. questões filosóficas. É nessa fase Estavam engatinhando. Acredito que, assim como pes- que se cria a comunidade que vai Índia, China e a maioria dos soas, gerações e culturas, a comu- dar sustentação para as próximas países da América Latina se en- nidade FOSS (Software Livre e de fases. Essa fase inicia-se criando contram ainda em crescimento, Código Aberto) também tem cres- o trabalho de base, promovendo agregando comunidade, porém cido e mudado. Acabei pensando os conceitos de Software Livre e sem resultados significativos e con- numa comparação simples para Código Aberto. Nesse momento, cretos. O potencial é imenso, mas mostrar esse crescimento, e como parte basicamente da comunida- ainda falta se estabelecerem. Mui- diferentes partes do mundo estão de o trabalho de convencimento, tos estudantes ainda não entendem posicionadas nesse ambiente. É evangelização e divulgação, res- esse potencial, e pensam que estão como se alguns lugares já tivessem pondendo a questionamentos como trabalhando de graça. passado por alguns estágios que ou- “mas quem paga a conta?”, “se eu A fase seguinte inicia quando se tros estão passando agora. Isso não abrir o código, meu concorrente começa a falar em sustentabilidade.

28 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Na primeira fase, poucas empresas 200 milhões de euros, igualmente Open Source Conference, OSCON, tentavam convencer mais empre- divididos entre grandes e peque- uma das mais maiores e mais co- sas de que o futuro é aberto, que o nas empresas. A adoção do Firefox nhecidas conferências mundiais, desenvolvimento é mais rápido e passa dos 40% em países como a mensagem era ligeiramente di- barato, que a comunidade é uma Finlândia e Eslovênia, seguido ferente, mas com o mesmo propó- grande e valiosa força-tarefa. Que de perto pela Alemanha [2]. Os sito: estão sendo criados produtos os custos são menores e o Retorno exemplos são vários. e serviços baseados em software de Investimento é rápido. E qual seria a fase seguinte, já que aberto que não são abertos. Está Nessa segunda fase, outras em- na fase três estamos estabelecidos? se criando uma cultura de que presas começam a acreditar nisso. Curiosamente, para mim, a fase basta colar um carimbo “Eu amo Mais e mais pessoas começam a re- quatro se passa quando não apenas FOSS” e tudo se resolve. Não é alizar o sonho de ter seu emprego as empresas dedicadas a produzir e assim. Sem realimentação, a fonte baseado em fazer ou prestar suporte suportar Código Aberto são viáveis seca. Parasitar seu concorrente é em Código Aberto. Começam os e rentáveis, mas também quando um meio de interromper a cadeia investimentos, os casos de sucesso é gerado um novo tipo de empre- que viabiliza o seu negócio. estão mais numerosos. Mais gente sas. Nos Estados Unidos, existem É por isso que a fase um é não ligada à área começa a saber que companhias como a OpenLogic essencial para o crescimento sus- Linux é alguma coisa relacionada [3], especializadas em prestar con- tentável. Pode-se até comprar uma a computadores. As dificuldades sultoria para outras empresas que comunidade, mas isso não garante ainda são grandes, mas os passos desejam abrir seu software: que a sobrevivência dela, muito pelo são mais firmes. licenças usar, como se posicionar contrário. Existem regras que va- Acredito que o Brasil esteja nessa no mercado, como interagir e até riam de comunidade a comunida- fase. O mercado dito corporativo criar uma comunidade ao redor dos de, mas que possuem dinâmicas tem demonstrado interesse – pedir seus produtos. Isso, para mim, foi muito parecidas: liberdade de ação, o entusiasmo desse mercado no sobremaneira surpreendente, afinal, anarquia ou uma liderança muito Brasil seria demais –, as comu- comunidade sempre pareceu ser fracamente exercida, influência nidades conseguem se unir sem um mal necessário às empresas, e direta dos envolvidos nos rumos batalhas eternas e sangrentas e o agora elas estão investindo em ter do projeto. Sem isso, será dinheiro Governo dá sinais de que avalia uma boa relação! investido à toa. melhor suas promessas e planeja Então está nos Estados Unidos E você, o que acha? ■ melhor suas ações. Nada mais de o maior avanço que temos? Acre- migrar o mundo em 80 dias, nem dito que não. Uma das primeiras de que tudo está pronto e basta conferências de que participei la apenas ter boa vontade: é necessá- em 2007 foi a Open Source Bu- Mais informações rio trabalho sério e profissional, e siness Conference, onde o que isso também requer investimento, mais se ouvia e lia no programa [1] Modelos de negócios e seja de tempo ou dinheiro. não deixaria a desejar a nenhu- estratégias para o Código Aberto: http://www. Na fase seguinte, os números ma lista de buzzwords. O que me opensourcestrategies.org são impressionantes. Investe-se impressionou foi, na maioria das bastante, economiza-se muito e palestras, principalmente nas key- [2] Ars Technica, sobre o inova-se. O número de desenvol- notes, a mensagem, direta ou in- conhecimento do Firefox: vedores é entusiasmante, assim direta: apropriar-se do código do http://tinyurl.com/yszqvz como a demanda e o tipo de tra- seu concorrente sem contribuir [3] Open Logic: balho que eles recebem. Novas irá matar seu próprio negócio. http://openlogic.com tecnologias são desenvolvidas, no- Palestras mostrando como é o vas soluções. Fala-se já em volume modelo de negócios baseado em de negócios, em previsão de cres- Código Aberto, quem cuida das cimento e adoção. A Europa em licenças, por que você deveria se Sobre o autor geral parece estar nesse ponto. A preocupar em devolver trabalho Sulamita Garcia é Gerente de Estratégia França, por exemplo, reporta que ao ecossistema. Linux e Open Source para América Latina da Intel e uma das coordenadoras do gru- seu Governo, exclusivamente com Espere, isso não estava claro? po Linux Chix. projetos de Código Aberto, gastou Aparentemente não. Durante a

Linux Magazine #39 | Fevereiro de 2008 © Linux New Media do Brasil Editora Ltda. Recursos públicos para Software Livre Incentivo à liberdade

O desenvolvimento proprietário recebe financiamento, então o Software Livre também o merece. por Ricardo Bimbo

CORPORATE ramitam na Câmara dos Deputados dois pro- não necessariamente devem ser!); outras são “co- jetos de lei tratando sobre formas de financia- munidades” de um programador só. Para aqueles Tmento para o desenvolvimento de software que insistem em ver um software como um bem aberto: o PL 3684/04, do deputado Carlos Cadoca estocável, empilhável e de propriedade particular (PMDB/PE) e o PL 2469/07, de autoria dos deputados restrita, não é nada simples entender o modelo de Paulo Teixeira (PT/SP) e Jorge Bittar (PT/RJ). negócios do software aberto. Ambos merecem respeito e atenção pela inicia- Sobre os recursos de financiamento, não estou tra- tiva inovadora de legislar e criar marcos regulató- tando da criação de nenhum novo fundo: restrinjo-me rios e de financiamento para projetos baseados em unicamente aos recursos que já existem e beneficiam, Software Livre e licenciamento permissivo. Ainda, há alguns anos, o desenvolvimento de software pro- de maneiras diferentes, ambos visam contribuir e prietário no país. É importante ressaltar que o software lançar propostas para uma velha pergunta de dez aberto é mais que um conjunto de projetos; trata-se entre dez desenvolvedores de software aberto sobre de um modelo de desenvolvimento. seu modelo de financiamento e sustentação. Peguemos como exemplo o PL 2469/07, que destina Veteranos do mundo Linux têm parte da resposta 20% dos recursos do CT-INFO para o desenvolvimento na ponta da língua, baseada no financiamento e na de Software Livre. Não se trata do desenvolvimento de continuação direta e indireta de empresas e entidades um projeto específico, mas de um instrumento regula- que usam e se beneficiam desses projetos. No entanto, tório, apoiador e financiador de um modelo específico o fato surpreendente de não existirem formas legais de desenvolvimento. Garantir ainda que esses recursos para as empresas e comunidades desenvolvedoras sejam acessíveis aos projetos de manutenção, tradução buscarem financiamentos públicos para inovação e aos seus participantes gera uma forma inovadora de ou manutenção de seus projetos inibe fortemente os incentivo público para o desenvolvimento de novos avanços da área de TI brasileira no cenário global. projetos, que impulsionarão ainda mais o trabalho Justiça seja feita: houve editais públicos, princi- colaborativo de desenvolvedores e empresas. palmente por meio da FINEP, que beneficiavam e Se é legítimo designar recursos públicos para dirigiam recursos, declaradamente, para o Software desenvolver software que terá um dono privado, o Livre, mas esses editais reproduzem o modelo de que dizer então de recursos públicos apoiando o financiamento para projetos de software proprietá- desenvolvimento de Software Livre, aberto e com- rio, baseado na cessão de recursos para empresas partilhado? Em [1] e [2] há mais informações sobre ou entidades não governamentais previamente es- financiamento público para software. ■ tabelecidas, que criariam um produto; em outras palavras, uma caixinha nova. Mais informações Esses editais ainda estão distantes da realidade do modelo de desenvolvimento colaborativo, como [1] Ministério da Ciência e Tecnologia: também distantes da realidade dos desenvolvedores, http://www.mct.gov.br empresas, grupos e comunidades que se inter-rela- [2] FINEP: http://www.finep.gov.br cionam e compartilham os frutos de seu desenvolvi- mento. Muito dificilmente os recursos e fundos de desenvolvimento de software nesse modelo alcan- Sobre o autor çarão as comunidades brasileiras desenvolvedoras Ricardo Bimbo é Government Relations da Red Hat Brasil e defen- ou mantenedoras de software, pacotes e distribui- de a idéia de que todo o conhecimento deve ser compartilhado. ções; muitas sequer são legalizadas em cartório (e

30 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SOA: quando a tecnologia sai do papel Edgar Silva CORPORATE

Este mês mostro o que aprendi como profissional Java enfrentando cenários reais com SOA. por Edgar Silva

á trabalhei uma série de artigos posicionando as Com a adoção acertada de padrões do setor, com a disciplinas da Service Oriented Architecture, SOA cultura e o conhecimento sobre a integração de sistemas, J— regras, BPM, ESB e portais —, mostrando que a adoção da SOA ocorre de forma natural, a ponto de elas têm total aplicabilidade prática. Agora vou abordar perceber sua utilização e deixar de chamá-la de desafio as experiências, aprendizados e lições de um profissional impossível, e sim de uma integração que traz resultados. Java que já enfrentou cenários reais com a SOA. A SOA pode ser definitivamente simples e acessível a O principal motivador para as empresas buscarem qualquer empresa, desde que haja um planejamento. a SOA é a necessidade de alguma forma de integra- ção, mesmo o conceito sendo muito mais abrangente do que apenas um EAI (Enterprise Application Inte- Momento da adoção gration). Hoje, as companhias, bem mais informadas Para começar a pensar sobre serviços, pergunte a si sobre o conceito, sabem quais disciplinas implantar mesmo ou a sua equipe: ao adotarem SOA. As mais procuradas são BPM (Bu- ➧ Utilizo mensageria e processos assíncronos na siness Process Modeling) e BAM (Business Activity minha empresa? Monitoring), embora muitas vezes as corporações não ➧ Preciso expor alguma funcionalidade como estejam preparadas para uma suíte como essa. serviço para parceiros? Há dois anos a situação era bem diferente, com ➧ É necessário monitorar o andamento de as empresas querendo saber o que era SOA. Outra meus processos? disciplina que também tem sido procurada é a ESB ➧ Como expor informações em termos de apre- (Enterprise Services Bus), devido à promessa de ga- sentação e segurança dados na Internet de for- rantir um barramento que consegue conversar com ma unificada? protocolos e formatos distintos dentro da empresa. ➧ O uso de Web services já é uma realidade na Aliás, o principal benefício trazido pela ESB é minha empresa? ser uma plataforma que possibilita separar a cama- ➧ Já sei que só com web services e mensageria da de negócios da camada de transportes. Com um não resolvo tudo na minha empresa? ESB, é possível mediar as peculiaridades de cada Se mais de três respostas forem afirmativas, então um dos protocolos (seja RMI, HTTP, MQ ou Fi- está na hora de começar a avaliar e trazer as disci- leSystem) com as regras de negócio, independente plinas da SOA para o portfólio de soluções de sua do protocolo utilizado. empresa. Entretanto é muito importante entender Segundo esse profissional com quem conversei, a e compreender como cada fornecedor pode aju- tecnologia de Código Aberto pode contribuir na ado- dá-lo. De nada adianta um fornecedor dizer que ção da SOA por permitir às empresas começarem com tudo deve virar web service quando sua realidade pequenos passos, já que sua adoção deve ser feita em é Clipper e Dataflex. É importante que o legado e partes. No melhor estilo dividir para conquistar, não se o novo convivam em harmonia, tornando-os pro- deve implantar o ciclo de vida completo de um modelo, pulsores da otimização de negócios, e não de um visto que a mudança cultural é muito grande. clima de “guerra fria”. ■ Acrescento também a flexibilidade da tecnologia de Código Aberto, que possibilita adaptar o modelo Sobre o autor à empresa, e não o contrário, já que o processo é que deve se moldar à empresa. Outro ponto importante Edgar Silva é Solutions Architect e JBoss Sales Engineer da Red Hat Brasil, além de também ministrar palestras no Brasil e das soluções abertas é ajudar as empresas a adquirir no exterior sobre Java. cultura antes de abrirem os cofres.

Linux Magazine #39 | Fevereiro de 2008 31 © Linux New Media do Brasil Editora Ltda. Código Aberto em pacotes aplicativos Cezar Taurion

Depois de conquistar softwares no nível mais baixo, o Código Aberto avança sobre os aplicativos. por Cezar Taurion

CORPORATE movimento do Código Aberto, antes limi- No segmento de BI (Business Intelligence), também tado à camada mais básica de software (sis- outrora domínio exclusivo do modelo proprietário, O temas operacionais e middleware), começa já vemos algumas alternativas interessantes como o a aparecer e ser aceito nas camadas mais altas, onde Pentaho. E o ESB (Enterprise Service Bus), coração estão os conjuntos de aplicativos. do modelo SOA, também já foi infiltrado por proje- Já existem algumas soluções que, se por um lado tos de Código Aberto, como o MuleSource. ainda estão longe de oferecer as extensas funcionali- Bem, isso tudo significa que o mundo dos pacotes dades dos produtos proprietários, por outro atendem será todo de Código Aberto? Na minha opinião, não! a uma gama bastante ampla de usuários, que não Veremos, sim, as alternativas abertas e proprietárias precisam de todas essas funcionalidades. De maneira convivendo. Um exemplo? O projeto de Código geral, os usuários dessas soluções são empresas de Aberto de uma comunidade criada em torno do co- pequeno porte, muito suscetíveis a custos. nhecido Salesforce.com para desenvolver uma API Algumas pesquisas têm mostrado que os principais aberta e seus respectivos Web services. A IBM, por fatores de decisão que levam à escolha das alternati- exemplo, é uma empresa que está implementando vas de Código Aberto são o baixo custo de aquisição, uma bem sucedida estratégia de sinergia entre os seus liberdade do “vendor lock-in”, alta qualidade do có- softwares comercializados no modelo proprietário e digo e facilidade de modificar o produto para atender as alternativas de Código Aberto. Basta ver os exem- às necessidades específicas. Mas demandam também plos da sinergia entre os projetos da comunidade alguns riscos inerentes a suporte, manutenção e atuali- Apache a família WebSphere, e entre a comunidade zações. A atualização é um bom exemplo: se o nível de Eclipse e os produtos Rational e Lotus. modificações for muito elevado, o pacote acaba sendo Um outro ponto importante: uma pesquisa no inteiramente customizado, ficando fora das evoluções SourceForge nos retorna dezenas de projetos abertos criadas pela comunidade. A empresa passa a ser a única de CRM, ERP, ETL. E nem todos esses projetos responsável por sua evolução, gerando a mesma situ- vão dar certo. Muitos serão absorvidos por outros ou ação de um sistema criado internamente. desaparecerão com o tempo, com sua comunidade Os primeiros projetos em Código Aberto de pa- se dispersando para colaborar em outros projetos cotes de aplicativos surgiram no campo do CRM e que lhes sejam mais atrativos. ERP, mas agora os vemos em outros setores, como Portanto, para selecionar uma alternativa de Código ETL, BI e mesmo ESB. Vamos dar uma rápida Aberto, não se esqueçam de avaliar cuidadosamente olhada nesse cenário. o ecossistema em torno do projeto (tamanho e ati- Começando com CRM, existem alguns produtos inte- vidade da comunidade, referências na Web, livros, ressantes, como o SugarCRM, o vtiger e o Centraview. treinamentos e consultores disponíveis etc). No campo dos ERP, já há algum tempo conhe- Mas, com certeza, as alternativas em Código cemos alguns projetos de Código Aberto, e no úl- Aberto terão seu espaço no mercado. Vale a pena timo evento “CIO08 The Year Ahead Conference”, prestar mais atenção a eles! ■ organizado pela CIO Magazine, foram apresenta- dos diversos cases de implementações de ERP de Sobre o autor Código Aberto. Cezar Taurion é gerente de novas tecnolo- O Código Aberto também já começa a se infiltrar gias aplicadas da IBM Brasil. Seu blog está no outrora fechado mundo dos produtos ETL (Extract, disponível em http://www.ibm.com/develo- . Transform and Load). Algumas das alternativas nessa perworks/blogs/page/ctaurion área são CloverETL, KETL, Apatar e Talend.

32 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. CAPA 34 Sistemas ERPlivres Gestão aberta acionistasdonos,ouentremuitas outras necessidades cado,como os sistemas ERP são abrangentestais ao pontocomo Folhade permitir de Pagamento. que ou marcadamente Naturalmente,de características nem todos regionais ou de áreas estendem-se a áreas que normalmentehumanos, são suprimentosnichos de mere logística. Muitos atividadedesses sistemasadministrativa, comercial,te, no de produção,sentido recursosde que o sistema gerencia todos os aspectos da mos o licenciamento. apenas como o custo de implementação, sem considerar É sempre uma consideração de adequação,e trazprazo melhores de im práticas que adicionamware valor aplica ao umnegócio. modelo de negócios aderente àsoftware, empresa ela normalmente entende que sa.o padrão Nos casos do softem que a empresa adapta seus processos ao ao software, enquanto em outros o software consegue ser a implementação de um sistema de email, por exemplo. todas elas sem ajustes. quanto fechadas. Por outro lado, também é verdadepossui quealternativas abundantes, tantosoblicenças livres classeaplicativosade queatendemessa necessidade a administrativas, fiscais, comerciais e de logística. Por isso, sistema. Pode-se afirmar quee focavam hoje noo pontotermo que dava origem ao nome da classe do mas recebeu, em anos anteriores, muitos outros nomes, tais T conhecida hoje como parametrizado ou customizado às necessidades da empre etc. Esses sistemas geralmente não eram muito abrangentes impossibilita a implementação de um mesmo sistema em ramento, Sistemas de Gestão Integrada, Sistemas de Custos Em alguns casos, a empresa prefere adaptar seus processos plementação e custo. Nesse caso, devemos entender custo cada empresa tem uma situação particular diferente, o que como Sistemas Administrativo-Contábeis, Sistemas de Fatu Entretanto,tais ajustes são bem mais complexos que A classe de aplicativos que atendem a essas necessidades é tas regularmentetas sobregestãoempresaa da aos fiscais,gerenciar as contas apagar eprestar con odaempresa necessidadetema emitirde notas por MiguelKorenO’BriendeLacy um dosmelhoresexemplosdevantagemdoCódigoAberto. Os sistemasdeERPprecisamrobustezefl CRM ( CustomerRelationship Management ERP ( Enterprise Resource Planning © Linux NewMedia doBrasil Editora Ltda. ERP é abrangen ), ) ------exibilidade, eporissoconstituem empresa,vezesàsexistesistema ummaisaté de ERP, umagrande quantidade empresasde teveajustarde ou çouserausado diariamente perto doano2000, quando único sistema. Pode-se consideraruma empresa que possao termo administrar ERP come todos os aspectos com um ning”(ERP entendido de outra forma). Dentro de uma a dar margem à criação do termo “Excel Resource– o Planque caracteriza o mau uso do programado emprego– chegou deaté planilhas de cálculoum sistema em algumascomercial ocasiõesinternacional completo. Oabuso ERP, seja com uma simples planilha de cálculo ou com princípio, uma evolução corretaexecutivos dos sistemas. dessas empresas possuem, e que favorecem, em a ter êxito. A grande maioria das empresas consideradas de “bug do milênio”. Essa situaçãotrocarseus sistemas de mercadopara ter em ajudouconta o possível muitosefeito do cificar o que realmente necessita, e que amentação empresa quede oum sistema ERP que consolidados.o cliente Por consigaisso, é muito espe importante numa imple mente às necessidades no Brasil, a empresa pode precisar no negócio onde a empresa atua. atender a necessidades novas de exigênciasqueesteja fiscaissendo implementado e legais tenha a flexibilidade Porde esse motivo, é bastante importantedade dasque necessidades o sistema de ERPpraticamente rentes; todas porém, essasas empresas.necessidades encontram-sePor na um varie lado, têm razão, pois possuem necessidades dife que têm necessidades totalmente diferentes e pecam pelo trabalho demorado e complexo, pois devem ser atendidas de certo departamento. cada um usado da forma que melhor atende ao negócio de enviar informação para sua matriz, onde os dados serão fabricantes comerciais dessas soluções, que hoje são globais, anos. Esse fato é muito importante pelas experiências que os excesso de customização ou parametrização que solicitam. as necessidades de toda a empresa. Muitas empresas acham porte corporativo nesse segmento atua no mercado há muitos A implementação de um sistema ERP, em geral, é um Em outros casos, mesmo que o sistema atenda perfeita A realidade atual é que praticamente toda empresa utiliza http://www. linuxmagazine .com.br ------ERP e CRM livres | CAPA

esteja implementando possa entender e aplicar esses requisitos no software. Existem muitas histórias de estouros de prazo e or- çamento significativos nessas implementações. Esses aplicativos têm as mesmas características que o gerenciamento de projetos, pois impactam todas as áreas; é necessário apoio da direção da empresa e comprometimento para usar o sistema. As soluções consideradas abrangentes no segmento comercial utilizado no Brasil têm custo corporativo no mercado ERP, ou seja, maior do que poderia ser aprovado diretamente na área de Compras, com projetos de implementação de característi- cas e custos corporativos. Devido a isso, é bastante provável que somente as empresas consideradas grandes e algumas médias possam implementar um sistema assim. Algumas o fazem por imposição da matriz, e outras pelas características do sistema, aderentes ao negócio. No segmento de Software Livre, existe a mesma variedade de sistemas, com igual diversificação de características. Mesmo que o software seja livre e em princípio isento de custo, deve-se tomar muito cuidado na escolha, pois o esforço de implemen- tação e a mudança de cultura corporativa são aspectos muito importantes. Um sistema ERP precisa de manutenção e evolu- ção, pelo menos para poder ser adequado a novas tecnologias ou exigências legais. Por isso, deve-se evitar o impulso de buscar um ERP no Sourceforge, Freshmeat ou outros e começar a usá-lo sem uma análise detalhada. Ambos os sites mencionados retornam muitas páginas para essa pesquisa. ■ Índice Bravíssimo! pág:36 Visão de cliente pág: 42 Bom modelo pág: 48

Linux Magazine #39 | Fevereiro de 2008 35 © Linux New Media do Brasil Editora Ltda. Peter Suneson - www.sxc.hu

O ERP de Código Aberto Openbravo Bravíssimo!

Com o Openbravo, as médias empresas têm uma ótima opção de ERP de Código Aberto. por Miguel Koren O’Brien de Lacy CAPA

s opções de sistemas de ERP e do pela empresa espanhola Open feito com aporte de alguns milhões CRM compatíveis com Linux Bravo, que disponibiliza o software de euros pela SODENA[2], empre- Atêm mostrado franco cresci- sob a licença GPL e oferece serviços sa do governo regional de Navarra, mento, acompanhando o aumento profissionais comerciais tais como na Espanha, para desenvolvimento no uso do sistema operacional aberto treinamento e suporte técnico. O de- de negócios. Esse é o maior aporte em ambiente corporativo por todo senvolvimento inicial do sistema foi de capital numa empresa de Soft- o mundo. No entanto, o surgimen- to de um novo software de Código Aberto nesse segmento não se vê todos os dias. Com um modelo de negócios freqüentemente diferente daquele adotado pelos fabricantes de sistemas de ERP proprietários, as empresas por trás dos ERPs livres apostam justamente na flexibilidade con- ferida pelo caráter aberto do códi- go-fonte ao mesmo tempo em que asseguram completo conhecimento do sistema. Uma recente alternativa nesse mercado é o Openbravo[1], apoia- Figura 1 Esquema funcional dos módulos.

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

usou o modelo de dados, esten- deu-o principalmente com tabelas – para ter em conta exigências le- gais na Espanha – e desenvolveu um ERP igual ou mais completo, porém em arquitetura web, para bancos de dados Oracle e outros. O modelo de dados de um sistema é considerado fundamental para se entender o que um sistema pode fazer e qual evolução ele pode assumir. Esse modelo de dados mostrou-se apropriado à legislação brasileira, pois foi implementado numa empresa industrial sem ne- cessidade de customização. Entre os principais recursos ofereci- dos pelo sistema, podemos destacar: Figura 2 Início do assistente de instalação em ambiente gráfico. ➧ Gestão de Dados Mestres: pro- dutos, serviços, clientes, forne- ware Livre para desenvolver um como o Sql-Ledger[3] podem ser cedores, funcionários, listas de sistema ERP. interessantes, pois, embora não preços, unidades de medição e O Openbravo é novo, e assim constituam um ERP, têm muitas conversão, formulários, moedas, vai contra a recomendação de se funções necessárias para a gestão. taxas de câmbio, definição de optar por sistemas já estabelecidos, Uma discussão interessante de fluxos de aprovação etc.; devido a sua solidez e à maior expe- autoria do IEEE[4] define ERP e ➧ Gestão de Compras: pedidos, riência da equipe que o implantará. compara algumas soluções. ordens de compra, preços, re- Entretanto, mesmo sendo um sis- cibos, contabilidade, entregas tema jovem, as pessoas envolvidas parciais, apoio a supply chain, nele atuam desde os anos 90 em Características transportadoras, produtos al- consultorias e fabricantes dos soft- O ponto de partida das caracte- ternativos, planejamento de wares mais tradicionais. O Open- rísticas do Openbravo pode ser compras com base nos planos bravo ingressou no Sourceforge encontrado no modelo de dados de produção etc.; em 2006, quando foi terminado o de outro Software Livre nesse seg- ➧ Logística: depósitos, movimen- mecanismo para customizar e es- mento, o Compiere[5]. O modelo tação entre depósitos, local fí- tender o sistema. de dados do Compiere é consi- sico de peças, manutenção do Com o Openbravo, empresas derado muito flexível, porém até estoque em diversas unidades médias e pequenas podem tentar pouco tempo atrás sua implemen- de medição (por unidade, por obter os benefícios que o ERP deu tação apresentava o “problema” peso, por volume etc.), impres- às grandes empresas. Por outro lado, de aquisição da licença comercial são de etiquetas de código de ao considerarmos o esforço para do banco de dados Oracle. Esse barras (vários padrões), con- implementar um ERP abrangen- ponto tem sido um empecilho juntos, rastreamento de peças te, pelo menos na visão comple- para quem insiste em não gastar individuais, diversas estratégias ta, ele não pode ser encarado por em licenciamento ou que prefere para “picking” etc.; empresas muito pequenas (abaixo uma solução livre. ➧ Gestão de Serviços e Projetos: de cinco ou dez pessoas), exceto O Compiere é considerado um projetos, atividades, recursos, se tiverem bons conhecimentos sistema desktop, ou seja, que roda orçamento, despesas, fatura- técnicos e do negócio, devido ao na estação cliente do usuário. mento ao cliente, compras custo da consultoria de implemen- Tanto o aspecto do banco de da- relacionadas, preços e custos tação. Ou seja, o Openbravo é re- dos quanto a arquitetura desktop configuráveis por projeto etc. comendado para empresas médias. do Compiere estão em vias de Esse módulo é um excelente Para pequenas empresas, softwares mudar. A equipe do Openbravo candidato para ser integrado

Linux Magazine #39 | Fevereiro de 2008 37 © Linux New Media do Brasil Editora Ltda. CAPA | Openbravo

para os processos de ERP. Ele oferece a emissão de relatórios, análise OLAP em cubos multi- dimensionais e dashboard (pai- nel de controle) baseado em indicadores Balanced Scorecard (BSC). Oferece também, atual- mente, indicadores padrão que poderiam servir para a grande maioria das empresas. O mó- dulo de BI permite monitorar o sistema e se a gestão está atin- gindo os objetivos definidos. A versão planejada para maio de 2008 promete integração com diversas ferramentas de BI. A saída de todos os rela- tórios do sistema pode ser em formato HTML, PDF e xls. Evidentemente, o recurso de emitir alertas automaticamente Figura 3 Tela de login padrão. por email é muito importante com um sistema de gerencia- ciada uma integração entre o nesse módulo. mento de projetos.; Openbravo e SugarCRM[6]. A figura 1 mostra o esquema funcio- ➧ Produção : Estrutura produti- O módulo comercial emprega nal com os módulos mencionados. va (plantas, centros de custo, o recurso do Openbravo para As outras características gerais centros operacionais ou de administrar documentos ane- do Openbravo permitem que os usinagem), lista de materiais xos. Esse módulo faz bom uso itens de menu disponíveis para o (BOM), tipos de manuten- da facilidade do Openbravo usuário sejam parametrizados. O ção e manutenção preventiva, para imprimir documentos em idioma pode ser selecionado pelo custos de produção, planos de lote para impressão de lotes de usuário (a tradução para português produção (operações, seqüen- notas fiscais etc. Também faz do Brasil está disponível no repo- ciamento, recursos e produtos bom uso da integração com sitório Subversion, onde também ou materiais requeridos), ordens sistemas de email; existe um plano de contas para o de produção, requisitos de ma- ➧ Gestão Financeira: contabili- Brasil) e também pode ser custo- terial (MRP) etc. Atualmente, o dade, contas, orçamentos, im- mizado pela empresa usuária para sistema atende às necessidades postos (categorias de impostos, que os termos sejam relevantes à de produção discreta; gestão de taxas por parceiro, cultura da empresa. O sistema de ➧ Gestão Comercial e CRM: região etc.), contas a pagar, ajuda está disponível em inglês e orçamentos, pedidos, notas contas a receber, bancos, ba- espanhol. fiscais, sucursais (ou áreas de lancete, balanço, relatório de Cabe destacar que o Openbravo, venda), programação regular perdas e ganhos, ativo fixo, ges- como muitos sistemas comerciais, de emissão de notas fiscais, tão de período fiscal etc. Todos também não oferece um módulo geração automática de docu- os módulos interagem com o de folha de pagamento. Esse dado mento de entrega, descontos e módulo financeiro; deve ser calculado pelo sistema descontos por volume, entre- ➧ Inteligência de Negócio (BI): específico e lançado no módulo gas, comissões, gestão de docu- obviamente o Openbravo não financeiro, mas claro que é possí- mentos requeridos (por exem- pode competir com as solu- vel integrar o sistema de folha de plo, nota fiscal, documento de ções comerciais ou livres no pagamentos que cumpra com re- envio, lista de materiais etc.), segmento de BI; porém, o que quisitios informáticos adequados. visão de 360 graus do cliente ele oferece está focado nas ne- Atualmente está sendo integrado (CRM). Recentemente foi ini- cessidades de gestão que olham um módulo de ponto de venda ao

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

sistema. O sistema era conhecido anteriormente como tinaPos desen- volvido por uma empresa que foi adquirida pela Open Bravo. Tecnologia O Openbravo é desenvolvido em Java, e requer um servidor de apli- cativos, tal como o Tomcat, usando um framework MVC (model, view, controller). Por usar uma linguagem multiplataforma, pode ser imple- mentado em diversos sistemas Li- nux, FreeBSD, Solaris e Windows®, inclusive Vista. A equipe criou uma interface para desenvolver customizações, a qual batizou de WAD (Wizard for Application De- Figura 5 Tela de consulta de Notas Fiscais. velopment). Em princípio, como seu nome sugere, para desenvolver Porém, antes disso, é necessário sa- uma customização devem ser se- tisfazer algumas exigências do am- guidos apenas os menus do WAD, biente. Em particular, é necessário que finalmente recompila o fonte. o acesso a um banco de dados por O WAD gera diversos tipos de ar- um usuário com privilégios para quivos, entre eles xsql que contém criar tabelas e usuários. Também os comandos SQL necessários (mo- deve haver no servidor Openbravo del, no esquema MVC), o dese- uma instalação do Java SDK (1.5 nho das telas operacionais (view) ou maior, na versão SE), Apache e servlets de controle (controller). Ant 1.6.5 ou posterior e Tomcat 5.5 O servidor de aplicativos deve ter ou mais recente. Vale destacar que instalado o framework MVC que esses módulos devem estar corre- foi desenvolvido em grande parte tamente instalados conforme a pela equipe do Openbravo. Dessa documentação, observando-se as- forma, o usuário do aplicativo pre- pectos tais como variáveis de am- cisa apenas de um navegador web biente e caminhos de execução, o convencional, mas com tecnologia que pode demandar certo esforço. relativamente recente (Firefox 2.0, O instalador requer o ambiente SeaMonkey 1.1 ou Internet Explorer gráfico para rodar, mas pode ser 7.0, ou mais recentes). iniciado pela linha de comando, Os bancos de dados SQL supor- e demora bastante tempo. Porém, tados no momento são Oracle 10g oferece grande comodidade, pois e PostgreSQL 8.1.4. percorre sozinho todos os passos da instalação. Em particular, o assistente realiza Instalação as seguintes tarefas: A instalação do sistema é realmente ➧ gera as tabelas no banco de muito simples. Ela envolve o down- dados; load do pacote correspondente à ➧ compila o sistema; plataforma que estiver rodando no ➧ insere os dados mestres iniciais servidor e a execução do instalador para poder operar; (figura 2). A versão vigente durante ➧ configura o Tomcat para rodar Figura 4 Seção de módulos. a elaboração deste artigo é a 2.35. o sistema.

Linux Magazine #39 | Fevereiro de 2008 39 © Linux New Media do Brasil Editora Ltda. CAPA | Openbravo

Para iniciar a instalação por um tutorial sobre os termos usa- após a autenticação inicial, o usu- linha de comando, basta usar a dos no sistema e a forma de na- ário escolhe o papel assumido opção --mode=text no comando vegação. Ele apresenta inclusive (por exempo, gerente comercial), de instalação. Essa forma é par- um passo-a-passo para configurar a empresa e a filial onde fará seu ticularmente útil para servidores o sistema. O manual tem 179 pá- login. Ao mesmo tempo, pode es- Unix e derivados (como o Linux, ginas (na versão em Espanhol e colher qual depósito gerenciará por exemplo) sem ambiente gráfi- correspondente atualmente à ver- para os papéis associados à gestão co, ou quando a instalação é feita são anterior. Há um manual em de materiais. de forma remota. inglês no wiki do projeto, porém Após o login, o sistema apresenta Mesmo sendo bem simples para também corresponde à versão an- à esquerda uma seção com acesso a instalar, as versões futuras têm terior), mas somente poderá ser diversos módulos que dependem do como objetivo simplificar ainda seguido por uma equipe de im- perfil de segurança do usuário loga- mais o processo. Hoje, esse pro- plementação que tenha claros os do (figura 4). Ao selecionar algum cesso é considerado tão simples objetivos e conheça a tecnologia módulo, apresenta na horizontal que o site oficial do projeto sequer utilizada. uma série de funções e, quando oferece um demo online, com a É importante, no entanto, observar apropriado, abas relevantes para o sugestão de baixar, instalar e ava- que a falta de documentação atua- módulo escolhido. liar o sistema. lizada e completa de forma gratui- Ao selecionar um módulo, o siste- A documentação de instalação ta não pode ser considerada como ma apresenta uma tela com as opções é relativamente completa, mas um empecilho para implementar relevantes a este (figura 5). nem sempre com informações o sistema. Um aspecto muito poderoso do da versão mais recente. Porém, modelo de dados e do aplicativo para configurar o sistema, é re- é a possibilidade de definir novas comendado contratar serviços de Operação tabelas no banco de dados, para- consultoria. O manual de uso é Dependendo das opções seleciona- metrizando essas tabelas nas telas das no assistente de de configuração. Isso permite, instalação, o acesso por exemplo, gerar uma tabela ao sistema pode ter de riscos operacionais de clien- diversas URLs. Ge- tes que podem ser manipulados ralmente é escolhido por uma tela gerada pelo WAD, o endereço http:// que permita associar o risco a localhost:8080/open- um cliente (funcionalidade não bravo, processo que prevista atualmente no sistema). em princípio abre Pelo módulo de relatórios, será a tela de login caso possível obter um estado de ris- a instalação tenha co das contas a receber. Perceba sido bem sucedida. que essa facilidade não gera fisi- A tela de login pa- camente as tabelas e colunas, ação drão no navegador que deve ser feita pelo DBA, mas (figura 3)pode e deve associa essas tabelas e campos a ser customizada com telas ou a uma programação no os logos da empresa, sistema. Outro uso importante imagens e links cor- desse recurso é a definição de no- respondentes. vos campos de entrada nas telas O usuário padrão padrão. Por exemplo, é possível para login é Openbravo incluir dados tais como CNPJ, (atenção à inicial mai- inscrição estadual e outros usa- úscula), com senha dos no Brasil. openbravo (dessa vez, A definição de workflow permite tudo em minúscula). o estabelecimento de fluxos para as O mecanismo de situações requeridas pela empresa, Figura 6 Workflow de cadastro de novos produtos. login considera que, como mostra a figura 6.

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

uma equipe, no qual o prazo pode variar de três a quatro me- ses, no caso de prazos curtos. A equipe da Openbravo menciona no site que a imple- mentação pode durar apenas algumas sema- nas, porém, o ponto de partida é um clien- te que já possua um levantamento com- pleto dos processos a implementar. Quem decide avan- çar com a implemen- tação do Openbravo e conta com conheci- Figura 7 Campos editáveis e obrigatórios. mentos ou consultoria adequada seguramen- Usando essas telas, a parame- te os campos editáveis pelo usuário te obterá benefícios semelhantes aos trização permite adicionar ou mo- em cada etapa do processo e desta- das grandes empresas. ■ dificar condições de validação de cam os campos obrigatórios. dados e definir novos gatilhos que Mais informações poderão executar módulos deno- minados callout no Openbravo. Conclusão [1] Openbravo: Assim, ele é totalmente adaptável O Openbravo é um sistema nobre http://www.openbravo.com a qualquer situação requerida. e completo no segmento de apli- [2] SODENA: Outra possibilidade muito útil é cativos ERP, que roda sobre uma http://www.sodena.com a de definir pela configuração as tecnologia robusta e extensível. telas de ajuda customizadas. Isso Porém, esse tipo de aplicativo [3] Sql-Ledger: http://www.sql-ledger.org é de grande ajuda na adaptação à não pode ser simplesmente ins- cultura da empresa e facilita a im- talado e usado, pois é necessária [4] Comparação de sistemas plementação do sistema. uma adaptação entre a empresa e ERP pelo IEEE: http:// Para facilitar a implementação em o sistema. Isso requer que exista, www.konsultex.com.br/ solucoes-livres/arquivos/ empresas com muitos clientes, for- do lado da empresa, um conhe- ieee-erp-compared.pdf necedores e produtos, o Openbravo cimento completo dos processos oferece a definição de formatos de de negócio atuais, e que tudo seja [5] Compiere: arquivos de importação. planejado junto com competên- http://www.compiere.org/ Como podemos observar, a pa- cia tecnológica para instalar e [6] SugarCRM: rametrização do sistema é muito configurar. Uma empresa peque- http://www.sugarcrm.com/ importante, e é nela que se inves- na provavelmente não terá essas te boa parte do esforço de imple- características e deverá contratar mentação. No uso diário, o sistema uma empresa consultora para Sobre o autor apresenta-se ao usuário como um realizar a implementação. Esse Miguel Koren O’Brien de Lacy usa Soft- website onde, pelas restrições de fato representa custos que uma ware Livre desde 1997. É diretor da Kon- menus, ele somente poderá acessar pequena empresa pode não estar sultex Informática, representante da Ar- temis International Solutions Corporation aquelas que são de utilidade para em condições de absorver. (www.aisc.com) e da Advanced Manage- sua função. Finalmente, vale destacar que ment Solutions (www.amsusa.com) na Amé- rica Latina, além de ministrar palestras so- As telas operacionais, como aquela a implementação de um ERP co- bre Software Livre. exibida na figura 7 mostram claramen- mercial ou livre é um projeto de

Linux Magazine #39 | Fevereiro de 2008 41 © Linux New Media do Brasil Editora Ltda. Benefícios do CRM com openCRX Visão de cliente

Sistemas CRM têm como objetivo melhorar a relação de uma empresa com seus clientes. Veja por que e saiba como o openCRX pode viabilizar isso. CAPA por Miguel Koren O’Brien de Lacy Melodi T - www.sxc.hu

ntes de entrarmos em deta- gócio que tem por objetivo entender, antes da tecnologia. Quantas vezes lhes sobre os benefícios de prever, administrar e personalizar as escutamos de atendentes que a ope- Anegócio que o openCRX pode necessidades dos clientes atuais e po- ração que desejamos não pode ser oferecer para as necessidades CRM tenciais de uma organização”. O CRM feita porque “o sistema não permi- da empresa, vale a pena uma visão enxerga os processos e informações da te” ou “estamos sem sistema”? Até mais geral para tentarmos definir o empresa sob o ponto de vista do cliente, o nome CRM pode ser considerado que exatamente estamos imaginan- o que não é exatamente uma novidade. como enganoso, pois não é a empresa do com o termo CRM (Customer As empresas sabem há muito tempo que vai gerenciar seus clientes. Fora Relationship Management). Esse que seu sucesso depende de clientes de monopólios temporários, todos termo é bastante amplo, o que faz satisfeitos. A novidade é que hoje há sabemos que são os clientes que ge- com que muitos sistemas com di- tecnologias para suporte a isso em renciam uma empresa. Devemos evi- versos enfoques sejam classificados grande escala. É muito mais do que tar a ilusão de que os sistemas CRM como CRM, mesmo que cumpram apresentar ao atendente de suporte a podem reter clientes simplesmente apenas parte do desejado. Não que- data de aniversário do cliente que liga com base nos dados. remos, com isso, dizer que atender com um problema. O CRM atinge a uma parte seja ruim ou contrário muito mais as pessoas do que a tecno- às necessidades, mas apenas que logia. A tecnologia é usada somente Expectativas as necessidades das empresas são como apoio às pessoas da empresa que Com essa definição em mãos, muito amplas. interagem com os clientes. podemos avaliar as expectativas Uma definição geral aceita no mer- No CRM, é sempre importante de uma empresa para suas neces- cado é que CRM é “a estratégia de ne- lembrar que o fator humano vem sidades de CRM e mapear como

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

ela poderá obter os benefícios ➧ ODF (ODT, ODS, ODP) pode ser mudada arrastando-se a esperados com Software Livre na Para facilitar sua integração à TI linha de tempo horizontalmente forma do openCRX[1]. Este artigo da empresa e aumentar as funciona- com o mouse. não abordará o sistema openCRX lidades groupware, a nova versão do em detalhe, pois isso já foi feito openCRX também conta com um na edição 30 da Linux Magazine servidor LDAP para autenticação, CRM [2], com uma descrição detalhada que pode ser usado como servidor Pela definição acima, CRM não do sistema e de seus fundamentos central da empresa (figura 4) ou ser é uma classe de aplicativos, mas tecnológicos. O openCRX é um configurado como cliente de outro as necessidades de CRM podem sistema em Java acessado pelo servidor corporativo. ser atendidas por um ou mais navegador web, e por isso não re- Adicionalmente, foi integrado sistemas (figura 6). CRM pode quer a instalação e configuração um servidor IMAP para facilitar a até ser atendido sem sistemas, de componentes do aplicativo na integração de clientes de email ao mas isso parece bastante difícil estação cliente. CRM. Essa integração ajuda mui- no cenário atual das empresas, Desde a publicação do referido to nas operações do dia-a-dia, pois no qual a maioria dos processos artigo, o openCRX evoluiu em fun- atualmente gasta-se muito tempo são automatizados com software cionalidades, e sua versão 2.0 deve no uso desses programas. específico, especialmente em si- tornar-se disponível este mês. En- Para facilitar a visão de ações tuações de empresas dispersas ge- tre as novas características trazidas, no tempo, como atividades pes- ograficamente. Por que usaríamos existem módulos de groupware com soais alocadas ou eventos de su- uma solução livre para CRM na calendário compartilhado e páginas porte, o openCRX oferece agora empresa? Existem certos fatores wiki (figura 1). uma visão em gráfico de Gantt que as tornam muito atraentes a (figura 5) que mostra uma linha uma corporação: de tempo no eixo horizontal e ➧ Isenção de custo de licencia- Recursos extras um bloco de barras de atividades mento. Efetivamente, num O novo servidor CalDAV[3] in- resumidas, com detalhamento na projeto de implementação de tegrado permite a integração de área do foco. A visão cronológica sistemas CRM, pode ser que clientes desktop, como Microsoft Outlook e Thunderbird/Lightning, para gerenciar calendários públi- cos ou privados (figura 2). A solução para wiki é o Xwiki[4], um sistema de segunda geração. Essas novas facilidades são importantes para os aspectos do sistema, pois envolvem a organização comercial, de suporte e outras áreas. O novo wiki oferece uma boa base para as necessidades de formação de uma base de conhecimento e manuais de procedimentos. Existe também uma nova funcionalidade de busca (figura 3) que permite pro- curar os termos desejados dentro de documentos anexos, o que também ajuda na formação de bases de co- nhecimento. Os tipos de arquivos suportados atualmente para busca de conteúdo são: ➧ PDF ➧ Rich Text Format, RTF ➧ Microsoft Office (DOC, XLS) Figura 1 Integração do Xwiki ao openCRX.

Linux Magazine #39 | Fevereiro de 2008 43 © Linux New Media do Brasil Editora Ltda. CAPA | CRM e openCRX

para montar a solução Benefícios Esperados adequada para a em- A grande maioria das empresas hoje presa. Dependendo está preocupada em ter vantagens da natureza da empre- competitivas e um diferencial frente sa, ela pode precisar aos concorrentes. Com tantos con- de uma solução cen- correntes, são raras as empresas que tralizada abrangente conseguem formar monopólios, e que resolva necessida- ainda menos comuns as que, estando des bem conhecidas, nessa posição, ainda se esforçam para como por exemplo, conhecer e atender com excelência vendas, marketing e as necessidades de seus clientes. suporte ao cliente. Por Nos últimos anos tem sido co- outro lado, a empresa mum a idéia de que uma empresa poderia necessitar de será melhor atendida em suas ne- uma solução cons- cessidades de CRM caso adquira truída com caracte- o pacote mais completo possível. rísticas específicas, Porém, o que parece uma vantagem como a integração normalmente converte-se num pro- com sistemas corpo- blema. Evidentemente, os pacotes rativos internos (por completos tendem a implementar exemplo, programas os recursos de uma forma gené- de compras freqüen- rica para atender a maioria das tes, milhagem, com- empresas. Essa situação costuma pras com cartões de levar a implementações em que a Figura 2 Integração de servidores CalDAV no openCRX. fidelidade etc.), inte- maioria das características da solu- o componente de licenças de gração com parceiros ção são desativadas ou ignoradas, software seja pequeno, mas o de negócios ou extensão de uma e, ao mesmo tempo, investem-se outro atrativo de uma solução solução CRM existente; esforços na customização de solu- livre é a facilidade de se estender ➧ Por ser um Software Livre, o ções para necessidades específicas. e atualizar o software de acordo openCRX é uma boa solução Essa situação costuma ter origem com o crescimento do negó- para ambas as necessidades. na falta de conhecimento de quais cio. É importante também ter A montagem de uma solução são os problemas e como devem em conta que Software Livre é usando componentes livres é ser solucionados. uma questão de liberdade, não atrativa porque permite escolher Uma implementação de CRM necessariamente de preço[5]; diferentes módulos para experi- bem sucedida fornecerá a cada fun- ➧ Alta qualidade da solução. As mentar sem complicações, sem cionário da empresa a mesma visão implementações de soluções problemas de licenciamento e completa do cliente, para que possam de sistemas comerciais e livres sem necessidade de um rela- todos tomar decisões bem informadas enfrentam os mesmos proble- cionamento comercial com o e corretas na solução de problemas mas organizacionais, culturais fabricante. e na apresentação de novas opor- e tecnológicos. A prática mostra Assim, o openCRX fornece uma tunidades de negócio. Existe um que as soluções livres como o plataforma JEE (Java Enterprise fator cultural muito importante na openCRX atendem muito bem Edition) madura e com um meca- implementação, pois os funcionários as necessidades e mostram gran- nismo de segurança muito comple- devem saber que não é útil desejar de flexibilidade de adaptação; to e uma arquitetura de extensão feliz aniversário ao cliente que liga ➧ Padrões abertos. O uso de pa- baseada em modelos (MDA, Model com um problema já conhecido pelo drões abertos, sem restrições de Driven Architecture), que permite próprio funcionário. Uma solução licenciamento, garante o domí- a implementação de necessidades CRM tem sucesso quando emerge nio da empresa sobre seus dados padronizadas ou específicas em em- de uma estratégia de negócios na e processos; presas de todo porte. O openCRX é qual todos, desde o CEO, enxergam ➧ Possibilidade de união de com- mais do que um aplicativo, é uma a empresa sob o ponto de vista do ponentes de diferentes fontes plataforma CRM. cliente. Hoje em dia, essa solução

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

suportados vários bancos de dados, incluindo Oracle, PostgreSQL, DB2, MS SQL Server e MySQL. Dessa for- ma, o openCRX se integra, de forma simples e transparente, à plataforma de TI da empresa. Quanto aos benefícios de um CRM listados anteriormente, vejamos como o openCRX pode contribuir: ➧ Marketing: o sistema oferece gestão de contatos e produtos de forma muito flexível. É pos- sível definir campos customi- zados adicionais em ambas as Figura 3 Novo campo para buscar globalmente, inclusive dentro de anexos. categorias. Assim, o perfil do cliente pode ser associado às deve ter a tecnologia como base. ➧ Suporte: escalar automaticamente características do produto para O caminho inverso não fornece os problemas não resolvidos para emissão de relatórios ou envio resultados esperados. responsabilidades superiores de emails, permitindo à empresa Como este artigo tem como obje- dentro da empresa.; oferecer o produto apropriado tivo explicar as vantagens do CRM ➧ Qualidade e rastreabilidade: para cada cliente. Um exem- através do openCRX, listaremos agora aprovar propostas ou outros plo dessa necessidade pode ser alguns dos benefícios decorrentes da documentos antes de sua libe- observado numa empresa imo- adoção de um sistema CRM. Porém, ração final. biliária cujos clientes são tanto é necessário ter em mente que os Apesar de curta, essa lista é apro- os compradores quanto os ven- funcionários da empresa precisam priada para ser explorada no contexto dedores de imóveis. A empresa estar genuinamente comprometi- de um artigo. dos com o CRM, já que o sistema é uma base para o trabalho, e não seu foco central. openCRX Em termos gerais, a empresa que Em primeiro lugar, implementa um CRM deseja aumen- vale a pena lembrar tar as vendas, melhorar a eficiência, que o sistema é ins- conhecer e atender bem seus clientes. talado somente no Desdobraremos esses objetivos globais servidor da empresa, em alguns pontos mais específicos. sem importar-se com Um cenário possível seria: o sistema operacional ➧ Marketing: conhecer quais pro- usado pelos clientes dutos ou serviços são ofereci- ou até pelo próprio dos a clientes, ou prospecções servidor. Sendo um individuais com o objetivo de sistema em Java, re- oferecer o produto ou serviço comenda-se que o ser- certo para cada cliente.; vidor tenha grande ➧ Comunicação : manter um canal espaço em memória de comunicação ágil e relevante RAM e um proces- com os clientes, informando-os sador moderno para sobre o estado de seus problemas oferecer bom desem- ou compras.; penho. No lado clien- ➧ Gestão do tempo: conhecer as te, é necessário um agendas de representantes de navegador web mo- vendas para otimizar seu tempo derno para os recursos e esforço.; AJAX da interface. São Figura 4 Integração de autenticação LDAP.

Linux Magazine #39 | Fevereiro de 2008 45 © Linux New Media do Brasil Editora Ltda. CAPA | CRM e openCRX

Figura 5 Visão de gráfico de Gantt para ações no tempo.

consegue obter prospecções de nários quais clientes mostraram contato para agendar reuniões qualidade ao oferecer a clientes interesse pelo produto, com e visitas. A possibilidade de interessados – investidores, por quais condições comerciais e agendar atividades e reuniões exemplo – imóveis com caracte- outras informações relevantes. sem os problemas de “erros de rísticas que lhes interessem, no Esse é um diferencial do uso agenda” é muito importante momento em que esse produto de CRM que junta os interes- para reduzir a frustração dos seja cadastrado no sistema. Essa ses da empresa e os do cliente, clientes com a empresa; possibilidade não significa que mantendo-o informado sobre ➧ Suporte: o serviço ao cliente é um o openCRX enviará spam aos as ações desta; dos pilares do relacionamento clientes, mas que a empresa ➧ Gestão do tempo: a coordenação deste com a empresa. A atitude, tem a possibilidade de oferecer de diversas áreas da empresa o conhecimento e a eficiência o produto certo ao cliente certo, para agendamento de reuni- dos atendentes formam a opinião podendo escolher a melhor for- ões internas ou em conjunto do cliente a respeito da empresa, ma de oferecer cada produto.; com os clientes é um problema e por isso esse campo deve ser ➧ Comunicação: a comunicação constante em toda empresa. tratado com máxima atenção. eficiente entre a empresa e os A funcionalidade de CalDAV O que se espera de um sistema clientes ajuda a mostrar-lhes do openCRX, que pode ser CRM, nesse aspecto, é que for- que a empresa tem interesse no facilmente acessada por toda neça acesso a informações sobre relacionamento comercial com a empresa com clientes de ca- o cliente e os produtos para o eles e fideliza o relacionamento. lendário no desktop, permite atendente então poder solucio- O openCRX oferece serviços essa coordenação. Para otimizar nar ou encaminhar os problemas de integração com servidores as ações do departamento co- rapidamente. O monitoramento SMTP, POP3 e IMAP. Consi- mercial, o diretor comercial da de ações não concluídas é muito derando o exemplo da empresa empresa imobiliária pode, por importante para que o cliente imobiliária, é possível permitir exemplo, permitir a consulta não precise ligar novamente para que o sistema notifique o cliente às agendas dos representantes perguntar por que seu proble- de que o imóvel está à venda, comerciais no momento em ma ainda não foi solucionado. além de informar aos funcio- que os clientes entrarem em O openCRX inclui um me-

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

características tecnológicas, de fun- cionalidades e de licenciamento fa- zem do openCRX uma solução que atende muito bem as expectativas. O sistema é apropriado para CRM quando a empresa decide implemen- tar funcionalidades padrão, mas es- pecialmente quando se deseja criar uma solução sob medida pela união de componentes. A arquitetura do openCRX torna natural sua integração com a infra- estrutura de TI da empresa e os ou- tros componentes que conformam o apoio CRM completo. A abrangên- cia das funcionalidades existentes Figura 6 Diagrama funcional de uma solução CRM. no openCRX junto com a projeção canismo de fluxo de trabalho comunicações é que as que são planejada e publicada de versões usando o jBPM[6], e também verdadeiramente importantes, futuras fazem dessa solução uma tem a possibilidade de integrar pelo valor ou situação estratégi- alternativa confiável para empresas outros mecanismos existentes na ca, devem ser verificadas antes de todo tipo. ■ empresa para que o atendente do envio. A empresa poderia possa delegar problemas caso estabelecer que toda proposta não se sinta capacitado. A pos- acima de certo valor precise de Mais informações sibilidade de executar processos aprovação, ou poderia estabele- [1] openCRX: www.opencrx.org de monitoramento permite que cer que toda comunicação de os incidentes de suporte possam certo tipo ou para certa empre- [2] “Forte, não gordo – O ser escalados automaticamente sa seja aprovada. O openCRX poderoso CRM openCRX”: a supervisores, caso seja excedi- implementa um mecanismo de http://www.linuxnewmedia. com.br/lm/article/ do o tempo limite fixado para processos que pode ser iniciado forte_nao_gordo a solução. Vale lembrar que manualmente. A arquitetura do estamos considerando que os sistema possibilita a definição de [3] CalDAV: http://ietf. atendentes mantêm a qualidade regras para início automático de osafoundation.org/caldav/ do atendimento e não forçam o processos de aprovação quando [4] Xwiki: http://www.xwiki.org fechamento de incidentes, mes- certa condição for cumprida. mo com a solução incompleta Esse tipo de procedimento per- [5] “Copyleft – Para todos, os direitos ou errada. Essa facilidade do mite que a empresa mantenha preservados”: http://www. openCRX incrementa a qualida- a qualidade da informação que linuxmagazine.com.br/ de do atendimento ao cliente e emite, além de definir respon- article/para_todos_os_ ajuda muito a formação positiva sabilidades para essas ações. direitos_preservados da imagem da empresa junto [6] jBPM: http://www.jboss. aos clientes.; com/products/jbpm ➧ Qualidade e rastreabilidade: Conclusão nenhuma proposta, assim como Quando uma empresa inicia o pro- nenhuma resposta, deve sair da cesso de implementação de um Sobre o autor

empresa sem aprovação prévia. sistema CRM, ela necessita de um Miguel Koren O’Brien de Lacy usa Soft- Naturalmente, isso não signi- sistema para implementar as neces- ware Livre desde 1997. É diretor da Kon- fica que devamos montar um sidades especificadas. A empresa sultex Informática, representante da Ar- temis International Solutions Corporation mecanismo burocrático para inicia a implementação buscando (www.aisc.com) e da Advanced Manage- complicar a interação com o melhorar sua rentabilidade, usando ment Solutions (www.amsusa.com) na Amé- rica Latina, além de ministrar palestras so- cliente. O que queremos dizer o relacionamento entre a empresa e bre Software Livre. com a aprovação de propostas e os clientes como ponto principal. As

Linux Magazine #39 | Fevereiro de 2008 47 © Linux New Media do Brasil Editora Ltda. kalyana sundaram - www.sxc.hu Uma visão geral do ERP e CRM ADempiere Bom modelo

O ADempiere surgiu há pouco mais de um ano, mas herda de CAPA seu ancestral Compiere recursos e uma arquitetura poderosos. por Eduardo Montenegro

solução de gestão integrada ➧ A aplicação pode utilizar as O dicionário ativo, desenvolvido ADempiere[1] é um avança- informações do dicionário para com a metodologia da arquitetura Ado sistema ERP (Enterprise navegação dinâmica nos dados, baseada em modelos, representa a Resource Planning) e CRM (Custo- resultando na simplificação plataforma da aplicação. Dessa forma, mer Relationship Management) de da extração de relatórios. Por o próprio ADempiere é um conjunto Código Aberto, desenvolvido com exemplo, a identificação de de ferramentas para desenvolvimento uma arquitetura baseada em mode- quais transações (pedidos, fatu- com alta produtividade. los (MDA, na sigla em inglês) e um ras etc.) utilizam uma determi- Essas características conferem dicionário ativo da aplicação. nada condição de pagamento ao sistema uma maior capacidade Os benefícios da utilização de um pode ser efetuada através de de adaptação e customização, além dicionário ativo são muitos. Dentre uma simples consulta, sem da redução no tempo de desenvol- eles, podemos citar: necessidade de uma codifica- vimento e no menor custo total de ➧ Manutenção da lógica e da estrutura ção lógica pré-definida.; propriedade, quando comparada a das regras de negócio em alto nível, ➧ É possível manter e garantir ferramentas e sistema que não uti- resultando em um único conjunto regras de segurança de forma lizam essa arquitetura. de informações e código. Como consistente.; Do ponto de vista da funcionali- conseqüência, o modelo é auto- ➧ A produtividade do desenvolve- dade, o ADempiere conta com um maticamente documentado; dor é muito alta. conjunto completo de recursos, or- ganizados através de processos de negócios, e não através de módulos, como na maioria das soluções simi- lares. Essa organização resulta em uma plataforma única, totalmente integrada e consistente (figura 1), proporcionando aos usuários uma visão integral de sua empresa e per- mitindo uma análise em 360 graus de todo o relacionamento com clientes, fornecedores e colaboradores.

História O ADempiere surgiu em setembro de 2006 como uma derivação do Figura 1 Todas as janelas do sistema apresentam o mesmo layout, facilitando projeto Compiere[2], um sistema in- o treinamento dos usuários. tegrado de gestão e relacionamento

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

Principais recursos do ERP Kenos Adempiere

Contas a pagar Contabbilidade Administração Gestão do Bancos e fluxo Contas a receber Geral e centro Financeira imobilizado de caixa Emissão de cheques de custos

CRM Gestão das Gestão de Gestão de Gestão das Gestão de canais cotações Contratos clienes e oportunidades de vendas de vendas e pedidos Serviços fornecedores

Gestão das Gestão das Vendas po Produção compras Gestão dos Logística Vendas e Internet MRP Níveis de Estoques Faturamento Web store SCM Aprovação

Importação e Relatórios Relatórios Gestão de Relários Exportação de Gestão de Análise de pré-definidos processos customizados dados com Orçamentos Performance por área Work Flow pelo usuário segurança

RH Recursos Cadastro de funcionários Salários Humanos

Multi- Níveis de Multi- Multi- Multi- Configurações plano de Orçamentos Acesso e Fluxo do processo de saídas. Moeda Idioma Empresa Figura 4 contas Autorização

Figura 2 Organização dos recursos do ADempiere.

Figura 3 O ADempiere permite a configuração de indicadores de desempe- nho dos processos da empresa. Figura 5 Fluxo do processo de entradas. com clientes de Código Aberto que do zero, o que lhe permitiu ter uma Analisando o mercado mundial para combina os recursos de administração estrutura realmente integrada. Sua esse tipo de solução, Janke verificou que de vendas e distribuição, controle de principal característica é permitir que as soluções disponíveis geralmente são estoque, contabilidade e gestão da qualquer configuração seja modifi- pouco flexíveis, além de suas implanta- cadeia de suprimentos. cada a qualquer momento. ções tenderem a ser demoradas e apre- O Compiere, por sua vez, começou Com essas características, o Com- sentarem um alto fator de risco. Outro a ser desenvolvido no ano de 1999 piere acabou por tornar-se uma das fator negativo era que, mesmo após sua pelo contador e programador Jorg mais importantes referências em implantação, os sistemas ERP também Janke, tendo entrado em produção sistemas de gestão com código-fonte carregavam o rótulo de serem caros e já no ano seguinte. Diferentemen- aberto, atingindo a impressionante terem manutenção trabalhosa. te de outros sistemas de seu porte, marca de mais de 1,2 milhões de O desenvolvedor observou ainda o Compiere foi construído a partir downloads desde seu lançamento. que não havia um sistema único que

Linux Magazine #39 | Fevereiro de 2008 49 © Linux New Media do Brasil Editora Ltda. CAPA | ADempiere

combinasse as funções de ERP e CRM, aplicação cuja arquitetura favorece o rá- uma visão única e centralizada de seus ou seja, que permitisse que todos os pido desenvolvimento, resultando em negócios, permitindo a construção de processos de negócio da empresa fi cas- implantações mais ágeis e com menor indicadores como o da fi gura 3 . sem constantemente alinhados com risco envolvido, uma vez que qualquer Essa integração se estende desde o sistema de relacionamento com confi guração pode ser reavaliada e ajus- os recursos padrões comumente dis- clientes e fornecedores. tada a qualquer momento. poníveis em sistemas dessa natureza, Com esse histórico e requisitos em A comunidade de desenvolvedores como controle de pedidos, contas a mãos, foi desenvolvido o Compiere, uma criada em torno do projeto entendia pagar e a receber, controle de esto- que a empresa criada que etc. até os recursos de gestão de por Janke no decorrer relacionamento com clientes ( CRM ) do desenvolvimento do e Loja Web ( Web Store). Compiere – a ComPie- re Inc. – era muito cen- tralizadora, imprimin- Estrutura e Recursos do valor demais apenas O ADempiere emprega o conceito de à infraestrutura formal clientes ou inquilinos . Essas entidades de Código Aberto do podem representar uma empresa ou projeto, sem levar em uma matriz com diversas fi liais, as conta adequadamente quais são todas tratadas no sistema as necessidades ou as como organizações. contribuições da co- O conceito de organização no siste- munidade. O que se ma é bastante fl exível, permitindo que seguiu foi a separação essas entidades sejam confi guradas como dessa comunidade do entidades legais – empresas constituídas projeto original, com a juridicamente –, centros de custo ou conseqüente criação do departamentos, ou até mesmo qualquer projeto ADempiere. combinação dessas aplicações. Todas as transações efetuadas através Figura 6 Fluxo do processo do CRM . do sistema são vinculadas a um inquili- Gestão dos no e a uma organização, possibilitando Processos assim a geração de relatórios de análise de resultados consolidados e individuais. de Negócio Essa hierarquia de inquilinos e orga- O ADempiere conta nizações do sistema também permite com um amplo conjun- a confi guração fl exível de regras de se- to de recursos, dirigidos gurança e acesso às informações. aos processos de gestão Um sistema pode conter um ou mais de empresas dos mais inquilinos, e cada um dos inquilinos diversos segmentos, pode conter diversas organizações. como mostra a fi gura Essas organizações, por sua vez, po- 2. Um dos diferenciais dem conter internamente múltiplas apresentados pelo siste- organizações “fi lhas”. ma é sua organização através de processos, e Processos de não através de módu- los, como é comum Negócio Padrão na maioria das outras O processo de Cotação-ao-Recebi- soluções de ERP. O sis- mento ( fi gura 4 ) contempla todos tema é uma ferramenta os processos de negócio utilizados única, totalmente inte- desde a criação de cotações, admi- grada, a qual permite nistração da carteira de pedidos de Figura 7` Fluxo do processo contábil. que o usuário tenha clientes, expedição de pedidos, fatu-

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

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

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

© Linux New Media do Brasil Editora Ltda.

pocket.indd 2 17.12.07 11:37:51 CAPA | ADempiere

de gestão do relacionamen- ➧ Suporte a múltiplas moedas; to entre departamentos e ➧ Relatórios de desempenho para colaboradores. medição de níveis de atendi- Os recursos de CRM no mento (SLA – Service Level ADempiere são parte in- Agreement); tegrante dos processos de ➧ Rastreabilidade para auditorias. negócio. Portanto, não ne- cessitam de sincronização e migração de dados, como Loja web normalmente são necessárias A loja web (figura 8) do ADempiere em sistemas similares. Todas permite que a empresa que utiliza as solicitações, sejam elas de o sistema tire proveito imediato da clientes, fornecedores ou presença na Internet. Como parte in- colaboradores, podem ser tegrante do sistema, basta a empresa geridas conforme padrões usuária do sistema definir a forma- e tempos de resposta pré- tação padrão do website para que o estabelecidos. sistema automaticamente disponi- O macroprocesso de ges- bilize os recursos de vendas online, tão da cadeia de suprimen- atendimento a clientes e fornecedores tos é responsável por todos e atendimento a representantes de Figura 8 Fluxo da loja web. os recursos de logística do venda e colaboradores. sistema, administração de es- ramento e administração dos títulos toques, expedição e recebimento de de contas a receber. mercadorias, movimentações de mer- Conclusão Dentro do macroprocesso de Soli- cadorias, requisições e devoluções e Com a tecnologia e flexibilida- citação-ao-Pagamento, estão todos os produção. de de configuração herdadas do sub-processos de administração de re- O cadastro de produtos permite toda Compiere e a enorme comuni- quisições de compra (figura 5), gestão a gestão do ciclo de vida e engenharia dade que se formou ao redor do de pedidos de compra, recebimento do produto. Os produtos são organiza- projeto, o ADempiere, em pou- de mercadorias, processamento de fa- dos em categorias, e permitem também co mais de um ano, atingiu uma turas de fornecedores e administração o controle através de atributos (grades, posição de destaque no mercado dos títulos de contas a pagar. em inglês) como cor, tamanho, carac- de ERP e CRM. ■ A administração de itens em aberto é terísticas elétricas etc. responsável por toda a gestão dos títulos de contas a pagar e contas a receber, gerados Análise de através dos processos de Cotação-ao-Re- Mais informações cebimento e Solicitação-ao-Pagamento. Desempenho [1] ADempiere: Através desse recurso do sistema, também Responsável por todo o controle de cus- http://www.adempiere.com é controlado todo o processo de integra- tos e todos os recursos contábeis do siste- ção do ADempiere com os sistemas das ma, algumas características da funciona- [2] Compiere: instituições financeiras. lidade de análise de desempenho(figura http://www.compiere.com O recurso de gestão do relaciona- 7) do ADempiere são: figura 6 ➧ mento com clientes (CRM, ) Suporte a múltiplos planos de Sobre o autor proporciona um acompanhamento conta; de todas as atividades de relaciona- ➧ Suporte a lançamentos contá- Eduardo Montenegro (emontenegro@kenos. com.br) é Diretor de Projetos da Kenos Con- mento com clientes e prospectos. beis multidimensionais (por par- sultoria e especialista em sistemas de gestão Como esse recurso também se en- ceiro de negócios, por produto, integrada. Com mais de dez anos de expe- contra integrado ao sistema, pode-se por projeto, por campanha de riência nas principais ferramentas do mer- cado, atuou em diversos projetos de infra- utilizar todos os recursos do CRM marketing etc.); estrutura e rede utilizando Unix e Linux. Há para gestão do relacionamento com ➧ Suporte a múltiplas formas de três anos desenvolve trabalhos com Código Aberto utilizando os sistemas de gestão inte- fornecedores e internamente na cálculo de custo (Médio, PEPS, grada Compiere e ADempiere. companhia como uma ferramenta UEPS etc.);

52 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Oitava aula da preparação LPIC-2

LPI nível 2: Aula 8 TUTORIAL

Configuração e manutenção de redes em suas diversas modalidades. Conceito e prática sobre endereçamento, notas e ferramentas relacionadas. por Luciano Siqueira

Tópico 205: de rede pode ser configurada auto- diretamente, sem nada entre Configuração de rede maticamente pelo sistema na hora elas. Se não for fornecido um do boot, dependendo dos scripts de endereço, simplesmente liga configuração da distribuição. ou desliga a opção IFF_POIN- 2.205.1 Configurações O comando ifconfig possui muitas TOPOINT para a interface; básicas de rede opções, mas seu uso fundamental é ➧ hw classe endereço: Altera o ende- Boa parte dos comandos vistos neste para definir um endereço IP para a reço de hardware para interfaces objetivo devem ser familiares ao can- interface de rede, por exemplo: que possuem essa capacidade. didato, uma vez que a configuração de O novo endereço deve ser es- redes foi vista de maneira detalhada ifconfig eth0 192.168.4.1 up pecificado após a classe do dis- na prova 102. No entanto, o funciona- positivo. Classes suportadas são mento e configuração em diferentes À interface eth0 foi atribuído o IP ether, ax25, ARCnet e netrom; cenários deve ser conhecido em maior 192.168.4.1. Para desfazer as altera- ➧ [-]arp: Permite ou desliga o pro- profundidade para a prova 202. ções, usa-se o termo down no lugar de tocolo ARP nesta interface; up, e os argumentos são desnecessá- ➧ [-]promisc: Se permitido, to- Interfaces Ethernet rios. Outras opções também podem dos os pacotes na rede serão Apesar das ferramentas de configura- ser especificadas para a interface, recebidos pela interface. ção de interfaces poderem variar em como a máscara de rede: O ifconfig também é usado para diferentes distribuições, o comando inspecionar as configurações de uma de configuração universal ifconfig ifconfig eth0 192.168.1.2 netmask interface. Sem argumentos, mostra as funcionará, uma vez instalado, em ➥255.255.255.0 up configurações de todas as interfaces qualquer distribuição. ativas do sistema. O comando ifconfig é utilizado Outras opções para o ifconfig: Mostrar as configurações para a para configurar e inspecionar não só ➧ [-]broadcast [endereço]: Se for- interface eth0: interfaces Ethernet, mas qualquer necido, especifica o endereço de interface de rede. broadcast da rede. Caso não seja # ifconfig eth0 Estando o hardware corretamen- fornecido, liga ou desliga a opção eth0 Link encap:Ethernet te preparado – tanto na parte física IFF_BROADCAST para a interface; ➥HWaddr 00:FF:40:05:78:61 da rede quanto no carregamento do ➧ [-]pointopoint [endereço]: Per- inet addr:192.168.4.1 módulo referente à interface local mite o modo ponto-a-ponto ➥Bcast:192.168.4.255 – a interface pode ser configurada para a interface. Este modo ➥Mask:255.255.255.0 manualmente ou automaticamente determina que a interface está UP BROADCAST RUNNING através do ifconfig. Uma interface conectada a outra interface ➥MULTICAST MTU:1500 Metric:1

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

RX packets:480 errors:0 Podemos ver que as duas interfa- # sysctl -w net.ipv4.neigh.eth0. ➥dropped:0 overruns:0 frame:0 ces possuem o mesmo endereço de ➥gc_stale_time =120 TX packets:707 errors:0 hardware. Uma segunda interface net.ipv4.neigh.eth0.gc_stale_time ➥dropped:81 overruns:0 carrier:0 virtual para a interface eth0 pode ser ➥= 120 collisions:0 criada usando o nome eth0:1. ➥txqueuelen:500 Outra sintaxe possível é utilizar O comando arp manipula o cache RX bytes:119829 (117.0 o termo add, que automaticamente ARP do kernel de várias maneiras. As ➥KiB) TX bytes:164169 (160.3 KiB) incrementa a interface virtual: principais opções são a remoção de uma entrada de mapeamento de en- É possível atribuir mais de um en- ifconfig eth0 add 192.168.40.1 dereço e configuração manual de um dereço IP para uma única interface de endereço. Para propósitos de depuração, rede, criando uma interface virtual numa Utilizado dessa forma, o ifconfig o comando arp também permite uma interface de rede real. Este recurso é es- automaticamente criará a interface vir- verificação completa do cache ARP. pecialmente útil quando é necessário tual utilizando a primeira numeração Usado sem argumentos, o coman- fazer com que um dispositivo trabalhe livre. Se não existir nenhuma interface do arp mostra a tabela de relaciona- conectado a diferentes redes. virtual, a eth0:0 será criada. mentos ARP utilizada pelo kernel. A Por exemplo, criar na interface de opção -n mostra os IPs sem resolver rede real eth0, de endereço 192.168.4.1, Protocolo ARP os nomes: a interface virtual eth0:0, com o en- É através do protocolo ARP (Address dereço 192.168.40.1: Resolution Protocol) que endereços IP # arp -n são mapeados para endereços MAC Address HWtype ifconfig eth0:0 192.168.40.1 (Media Access Control) do dispositivo ➥HWaddress Flags Mask ➥netmask 255.255.255.0 de comunicação, tornando possível o ➥Iface estabelecimento da conexão. Assim 192.168.1.254 ether Com o comando ifconfig -a, po- que uma conexão é solicitada, o kernel ➥02:A5:E6:44:77:79 C demos verificar as duas interfaces de envia um pedido ARP para a interface ➥eth0 rede, a real e a virtual: de rede, ou seja, uma mensagem broad- 192.168.1.11 ether cast solicitando o endereço MAC da ➥00:0E:A6:A8:0A:E7 C # ifconfig -a interface que corresponda ao endereço ➥eth0 eth0 Link encap:Ethernet IP do destino da conexão. A resolução ➥HWaddr 00:FF:40:05:78:61 inversa, do endereço MAC para o IP, é Principais opções do comando arp: inet addr:192.168.4.1 feita através do protocolo RARP (Reverse ➧ -d hostname: Apaga o hostname ➥Bcast:192.168.4.255 Address Resolution Protocol). do cache ARP; ➥Mask:255.255.255.0 O kernel cria um cache de relacio- ➧ -f arquivo: Mapeia estaticamen- UP BROADCAST RUNNING namentos entre IPs e endereços MAC, te os hostnames para endereços ➥MULTICAST MTU:1500 Metric:1 que é renovado em um período de MAC, a partir do arquivo indica- RX packets:586 errors:0 tempo pré-determinado. Esse período é do. As entradas dentro do arquivo ➥dropped:0 overruns:0 frame:0 definido em segundos, pelo conteúdo correspondem à mesma sintaxe TX packets:890 errors:0 do arquivo /proc/sys/net/ipv4/neigh/ utilizada pela opção -s; ➥dropped:81 overruns:0 carrier:0 eth0/gc_stale_time, como podemos ➧ -s hostname mac: Cria uma cor- collisions:0 ver através do comando sysctl: respondência estática entre o ➥txqueuelen:500 hostname e o endereço MAC. RX bytes:132601 (129.4 # sysctl net.ipv4.neigh.eth0.gc_ Se o termo temp não for forne- ➥KiB) TX bytes:182771 (178.4 KiB) ➥stale_time cido ao fim do comando, o ma- net.ipv4.neigh.eth0.gc_stale_time peamento será permanente. eth0:0 Link encap:Ethernet ➥= 60 Para monitorar mudanças de rela- ➥HWaddr 00:FF:40:05:78:61 cionamentos IP/MAC nas conexões, inet addr:192.168.40.1 Este é o período especificado existe um utilitário chamado arpwatch. ➥Bcast:192.168.40.255 para a interface eth0. Cada interfa- Com o arpwatch ativo, essas mudanças ➥Mask:255.255.255.0 ce pode ter um valor distinto. Para são enviadas por email ou registradas UP BROADCAST RUNNING alterar este valor, o próprio sysctl em logs. Dessa forma, será possível sa- ➥MULTICAST MTU:1500 Metric:1 pode ser utilizado: ber quando uma nova máquina entrou

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

na rede ou se uma interface alterou Realizada a discagem e a au- O pppd estabelecerá então a cone- seu endereço MAC, possivelmente tenticação, o daemon pppd deverá xão PPP. Um número IP será atribu- com objetivo de interceptar pacotes ser apropriadamente iniciado para ído à interface pppN através do script não endereçados a ela. controlar a conexão. Diferente do /etc/ppp/ip-up. Quando terminada a Executando arpwatch -d, todas as minicom, o wvdial executa automa- conexão, a interface será desligada mensagens são mostradas na tela e ticamente o pppd. através do script /etc/ppp/ip-down. não são enviadas via email. A opção É possível invocar a conexão di- O diretório /etc/ppp/peers/ contém -i interface especifica uma interface retamente pelo pppd, através da uti- arquivos de perfil para possibilitar de rede diferente de eth0. lização de um script chat. Um script a conexão a diferentes provedores chat é uma sequência de instruções como diferentes usuários. Dessa for- Conexões Dial-up (PPP) no formato “condição esperada – res- ma também é possível que usuários O Protocolo Ponto-a-Ponto (PPP) posta” usadas para a comunicação comuns realizem conexões via pppd. permite estabelecer uma conexão de com o servidor. É necessário que haja entradas corres- rede através de uma interface serial. É Exemplo de script chat /etc/ppp/ pondentes no arquivo /etc/ppp/chap- o tipo de protocolo usado em conexões chat/script: secrets ou /etc/ppp/pap-secrets. O via linha telefônica. Os dispositivos ne- pppd poderá então ser invocado na cessários para criar uma conexão PPP ‘ABORT’ ‘BUSY’ forma pppd call nome-peer. são interface serial e modem. Esses ‘ABORT’ ‘ERROR’ dispositivos podem se apresentar sepa- ‘ABORT’ ‘NO CARRIER’ Conexões ISDN radamente – modem externo ligado ‘ABORT’ ‘NO DIALTONE’ Muitas distribuições Linux dispõem de à porta serial – ou serem integrados ‘ABORT’ ‘Invalid Login’ assistentes para configuração tanto de – placa interna ISA ou PCI. É possível ‘ABORT’ ‘Login incorrect’ conexões via modem quanto conexões ainda utilizar modems onboard, apesar ‘’ ‘ATZ’ ISDN. Apesar disso, é possível confi- da maioria deles não ser oficialmente ‘OK’ ‘ATDT 99999999’ gurar para ambos os tipos de conexão suportada no Linux. ‘CONNECT’ ‘’ através da linha de comando. Para co- Nesse tipo de transmissão, cada ‘ogin:’ ‘adamastor’ nexões ISDN, a principal ferramenta byte é enviado à porta serial bit a ‘sword:’ ‘qwerty’ é o comando isdnctrl, componente bit, numa frequência denominada TIMEOUT’ ‘5’ do pacote isdn4linux. baud rate. Estando o modem cor- Alguns dispositivos ISDN reali- retamente instalado no sistema, é O pppd pode então ser invocado zam as operações de conexão (dis- possível enviar comandos como ATZ e da seguinte forma: cagem e autenticação) sozinhos. ATDT diretamente para sua respectiva Em alguns casos, porém, pode ser porta serial. O programa minicom age # pppd /dev/ttyS3 115200 \ necessário configurar e conectar-se como um terminal de comunicação nodetach lock debug crtscts manualmente. com o modem, podendo realizar ➥asyncmap 0000000 \ Num procedimento semelhante à diagnósticos e discar números. connect “/usr/sbin/chat -f /etc/ conexão via modem, feita com um dis- Outro programa comum para co- ➥ppp/chat/script” cador e o daemon pppd, a conexão ma- municação com o modem é o wvdial. nual via ISDN é feita com o comando Através do comando wvdialconf, o Por comodidade, os argumentos isdnctrl e o daemon ipppd. Se o disposi- modem é automaticamente locali- do pppd podem ser salvos no arquivo tivo ISDN foi corretamente identificado zado nas portas seriais e o arquivo /etc/ppp/options. pelo kernel, uma nova conexão pode de configuração /etc/ wvdial.conf é criado. Exemplo 1: Uma tabela de rotas Neste arquivo são adi- cionadas as informa- # route -n ções sobre o telefone Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface do provedor de acesso 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3 e dados de autenti- 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 cação do usuário. A 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 discagem é realiza- 201.52.48.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo da invocando wvdial 0.0.0.0 201.52.48.1 0.0.0.0 UG 0 0 0 eth0 nome-provedor.

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

ser configurada com o comando isdnc- trar a lista de resultados. Esses termos group=CCMP TKIP trl. Uma configuração padrão pode podem ser consultados na página de eap=TLS ser feita com a seguinte seqüência de manual do iwlist. identity=”usuario@empresa. comandos, substituindo pelos valores O comando iwconfig é o corres- ➥com.br” indicados pelo provedor: pondente ao comando ifconfig para ca_cert=”/etc/cert/ca.pem” 1 .isdnctrl addif ippp0: Cria a in- redes wireless. Com o essid escolhido client_cert=”/etc/cert/ terface ippp0; a partir do resultado obtido com o ➥user.pem” 2 . isdnctrl addphone ippp0 out iwlist, o iwconfig pode ser utilizado private_key=”/etc/cert/ 12345678: Especifica o número da seguinte forma: ➥user.prv” de telefone do servidor; private_key_ 3 . isdnctrl huptimeout ippp0 300: iwconfig wlan0 essid rede_ ➥passwd=”password” Tempo de inatividade (em se- ➥disponível } gundos) até que a conexão seja desfeita; Para redes protegidas por cripto- A rede Work utiliza EAP-TLS com 4 .isdnctrl dialmode ippp0 auto: A grafia, o pacote wpa_suplicant deve WPA, permitindo apenas os cyphers discagem acontecerá sob demanda. ser utilizado em conjunto com o wi- CCMP e TKIP. Também são espe- Esses comandos poderão variar reless-tools. Seu principal comando cificados nome de usuário, senha conforme o provedor. O daemon é o wpa_supplicant, cuja forma de e chaves externas de autenticação. ipppd deverá rodar em segundo pla- utilização mais comum é: Dessa forma, quando o daemon wpa_ no para controlar a conexão: supplicant identificar a rede Work wpa_supplicant -B -w -c /etc/wpa_ disponível, tentará estabelecer uma ipppd user agenor defaultroute ➥supplicant.conf -i wlan0 conexão com as informações forne- ➥noipdefault -detach /dev/ippp0 & cidas pelo arquivo de configuração O comando wpa_supplicant ro- especificado na linha de comando. Caso o modo de discagem não es- dará como daemon. As opções teja em automático, a conexão poderá utilizadas determinam: Rotas ser invocada com o comando isdnctrl ➧ -B : Rodar em segundo plano; Para que os dados possam chegar ao dial ippp0 e terminada com isdnctrl ➧ -w: Esperar pelo dispositivo. seu destino, é necessário que haja uma hangup ippp0. O comando não finalizará e tabela de rotas no host de origem dos aguardará até que o dispositivo dados. A tabela de rotas determina o Conexões Wireless indicado apareça. Útil no caso que fazer com cada pacote de dados Como com a conexão ISDN, a confi- de dispositivos removíveis; que seja encaminhado para fora atra- guração de uma conexão wireless supõe ➧ -c arquivo: Especifica o arquivo vés de uma interface de rede. que o dispositivo esteja corretamente de configuração, que contém Estruturalmente, os hosts numa identificado e o respectivo módulo car- todas as informações referentes rede podem se comunicar apenas com regado. O dispositivo pode ser listado a redes e autenticação; outros hosts na mesma rede. Se o host como um dispositivo de rede conven- ➧ -i interface: Determina a in- de destino pertencer a alguma rede li- cional, com o comando ifconfig -a. terface wireless a ser utilizada. gada ao host de origem, o pacote será A nomenclatura dos dispositivos varia, No arquivo de configuração do colocado nessa rede. Caso contrário, podendo se chamar eth0, wlan0, etc. de- wpa_supplicant são determinadas quais o pacote deverá ser direcionado para a pendendo do modelo da placa. redes são aceitas e quais as políticas rota padrão, à qual são encaminhados A ferramenta padrão para utilizar de segurança. Exemplo de configu- todos os destinos desconhecidos ao conexões wireless sem criptografia no ração para acessar uma rede: host local. A máquina ou dispositivo Linux é o pacote wireless-tools. Para lis- que recebe esses pacotes é chamada tar as redes disponíveis, basta utilizar o ctrl_interface=/var/run/wpa_ roteador ou gateway, que se encarre- comando iwlist, como no exemplo: ➥supplicant gará de encaminhar os pacotes para ctrl_interface_group=wheel as redes apropriadas. iwlist wlan0 scanning network={ Há quatro configurações comuns ssid=”work” de tabelas de rotas: O termo scanning pode ser subs- scan_ssid=1 ➧ Mínima: Para redes isoladas, tituído pela abreviação scan. Outros key_mgmt=WPA-EAP geralmente feita quando a termos podem ser utilizados para fil- pairwise=CCMP TKIP interface é iniciada;

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

➧ Estática: Para redes com um O exemplo 1 exibe uma tabela route add -net 192.168.1.0 netmask ou mais gateways. Geralmen- de rotas. ➥255.255.255.0 dev eth1 te é criada através de scripts Essa é uma tabela de rotas típica automáticos ou manualmente de um computador que age como Este comando adiciona a rota para através do comando route. Se roteador e gateway. Existem quatro a rede 192.168.1.0, através da interfa- a rede muda, a tabela precisa interfaces de rede conectadas e con- ce eth1. Para criar uma rota padrão, ser manualmente atualizada; figuradas. Três delas conectam-se a outra forma é utilizada: ➧ Dinâmica: Em redes maio- redes locais e uma à Internet. A inter- res as informações de rotas face lo é a interface de comunicação route add default gw 192.168.1.1 e gateways são dinamica- interna, e não corresponde a nenhuma mente fornecidas através de rede externa. Essa forma é um atalho para a protocolos de roteamento. A Todos os pacotes que chegam serão forma extensa: desvantagem é que a criação direcionados aos respectivos destinos dinâmica de tabelas causa nas redes locais. Se o destino de um route add -net 0.0.0.0 netmask maior tráfego na rede; pacote não pertence a nenhum host ➥0.0.0.0 gw 192.168.1.1 ➧ Estática/Dinâmica: Geralmente na rede local, o mesmo será direcio- as tabelas de rota contêm infor- nado ao gateway padrão, indicado De maneira praticamente idêntica, mações estáticas para encami- na última linha da tabela de rotas rotas podem ser removidas utilizando nhamento de pacotes dentro da com as flags UG. del no lugar de add. rede local e uma rota padrão Apesar de, via de regra, a rota para para demais pacotes que aponta uma rede ser automaticamente cria- Considerações sobre o tópico para um gateway que trabalha da quando a interface é configurada, A configuração de redes é um dos com roteamento dinâmico. pode ser necessário adicionar uma tópicos mais importantes da prova. A alocação dinâmica da tabela de ro- rota manualmente. Essa tarefa pode Esta aula e a próxima devem ser es- tas é feita através do daemon gated. ser realizada com o comando route: tudadas com profundidade. ■

© Linux New Media do Brasil Editora Ltda. Compressão de dispositivos de bloco com cloop Bloco compressor Michal Zacharzewski - www.sxc.hu O módulo cloop emprega a compressão na camada do dispositivo de blocos. Veja como os Live CDs encaixam tantos softwares num único disco. por Klaus Knopper TUTORIAL

cloop é um módulo de dis- disquetes, discos rígidos e partições sões do kernel, estendendo o módulo positivo de blocos do kernel de disco rígido. para suportar o acesso a arquivos em Ousado em Live CDs como o Sistemas de arquivos são represen- 64 bits (o que abriu caminho para ar- Knoppix. O módulo cloop permite que tações lógicas dos dados ordenados quivos maiores que 4 GB), múltiplos o sistema leia dados compactados, ge- presentes num dispositivo de blocos. arquivos de entrada e extensões de ralmente de um arquivo, criando assim Um sistema de arquivos transforma ioctl para permitir a troca de arquivos discos virtuais compactados. Usando o dados crus na visão familiar diretório/ de entrada dinamicamente. cloop, uma instalação de Linux de apro- arquivo. O comando mount é a ponte Como o cloop é um dispositivo de ximadamente 2 GB cabe num único entre uma partição de dispositivo de bloco e não um sistema de arquivos CD-R de 700 MB. Este artigo mostra blocos e sua projeção num diretório como o Squashfs, a imagem compac- como funciona o cloop, e oferece uma de ponto de montagem. tada pode ser qualquer uma, desde ar- visão da estrutura geral de um disposi- quivos brutos até estruturas arbitrárias tivo de blocos do kernel. Loopback de sistemas de arquivos ou bancos de Sistemas Unix fazem distinção en- dados. Num Live CD, a imagem cloop tre dispositivos baseados em caracteres comprimido normalmente contém um sistema de e baseados em blocos. Conferindo a Um dispositivo de blocos incluído em arquivos ISO9660, que é o sistema de saída de ls -l /dev/, é fácil reconhe- todo kernel Linux é o loop, que mapeia arquivos somente-leitura e otimizado cer esses dispositivos pelo prefixo – c um arquivo texto em um dispositivo para leitura mais popular em CDs de em dispositivos baseados em carac- de blocos em /dev/loop/. O dados. O Cloop suporta todos os recursos teres e b para os baseados em blocos arquivo anexado ao dispositivo de loop de sistemas de arquivos necessários para – no início da linha de saída (veja o então pode ser montado como um um sistema Unix, através da extensão exemplo 1). disco rígido, opcionalmente cripto- RockRidge (nomes de arquivos longos, Dispositivos baseados em caracteres, grafado. Entretanto, esse driver ainda permissões, links simbólicos etc.). como unidades de fita, mouse e joys- fornece somente uma tradução entre O Cloop também traz diversas ve- ticks, fornecem acesso seqüencial aos diferentes representações de dados do rificações de validade que retornam dados, caractere após caractere. mesmo tamanho. códigos de erro não fatais ao aplicativo Dispositivos de bloco, por outro O Cloop, escrito pela primeira vez que o chamou, caso sejam lidos dados lado, permitem o acesso direto a em 1999 para o kernel 2.2 pelo autor do comprimidos inválidos, ou se ocor- blocos arbitrários de dados, indexa- IPtables, Paul “Rusty” Russel, utiliza um rerem erros de leitura (arranhões na dos pelo número do bloco ou setor arquivo de entrada comprimido bloco superfície do CD podem tornar dados (segmentos de 512 bytes), e geral- por bloco que reduz o espaço exigido parcialmente ilegíveis). O Cloop usa mente são usados para dispositivos a até um terço do original, no caso de somente dados que tenham sido lidos de armazenamento com acesso alea- arquivos executáveis. Eu portei, e mais e comprimidos com sucesso, e jamais tório, como discos RAM, CD-ROMs, tarde reescrevi, o cloop para novas ver- termina ou interrompe o acesso ao dispositivo subjacente. Dessa forma, Exemplo 1: Dispositivos de bloco e caracteres até dados parcialmente danificados ainda podem ser recuperados, e 01 crw-rw–- 1 root root 10, 1 2007-10-18 10:41 /dev/psaux falhas devido a erros de leitura são 02 brw-rw–- 1 root disk 3, 0 2007-10-18 10:41 /dev/hda 03 brw-rw–- 1 root disk 240, 0 2007-11-01 21:38 /dev/cloop improváveis (embora, um programa executável que tenha sido danificado

58 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Cloop | TUTORIAL

provavelmente não poderá ser exe- de arquivo em sistemas Plain file cutado, terminando com uma falha FAT32 e ISO9660 – 2 or de segmentação). GB e 4 GB, respecti- Disk Image Esse recurso pode dar ao cloop vamente. uma leve vantagem em relação aos As imagens cloop sistemas de arquivos que compri- podem ser associadas cloop mem os dados armazenados, nos e desassociadas em modprobe cloop file=/path/to/file.cloop quais o arquivo inteiro acaba ilegível tempo de execução no caso de erros de leitura no início usando o comando do mesmo. No cloop, fica faltando padrão losetup (exem- Filesystem/Mount no máximo um bloco, caso ocorram plo 2). mount −r −t iso9660 /dev/cloop /mnt erros de leitura nesse bloco. O cloop também Uma desvantagem é que o cloop é pode trabalhar com somente-leitura. Tentar reescrevê-lo arquivos de entrada Mountpoint with visible para suportar operações de escrita pro- montados sobre NFS. directories and files vavelmente se mostraria ineficiente, Esse recurso é impor- / pois em cada operação de escrita a tante caso se plane- /usr /home estrutura do bloco comprimido teria je usar clientes sem de ser reordenada, e os blocos de um qualquer disco com Figura 1 O (C)loop mapeia um arquivo imagem de disco rígido dispositivo de blocos jamais podem sistemas de arquivo num dispositivo de bloco, permitindo sua montagem ser “apagados”, já que o dispositivo montados sobre cloop. como se fosse uma partição de disco. de bloco não possui informações so- Outro recurso interes- bre a necessidade dos dados. sante do cloop é a leitura e descom- subjacente seja reinserido. Na pior Além disso, ao comprimir um blo- pressão de dados de forma assíncrona, das hipóteses, o desktop paralisa, o co, o tamanho resultante do bloco não usando threads do kernel, o que sig- que dificulta o envio do comando é previsível. Na verdade, um bloco nifica que não se bloqueia um grupo para descongelar o cloop. compactado pode até ser um pouco de processos e não se ocupa o espaço maior que um não compactado, no do kernel por muito tempo. Componentes caso dos dados já estarem armazenados O acesso a arquivos imagem cloop sob compressão. Ao manipular blocos pode ser suspenso durante o uso. A idéia no kernel comprimidos, a tabela de índice dos por trás disso é que se pode remover Para usar um dispositivo de blocos blocos teria que ser recalculada (todos temporariamente um dispositivo de no kernel 2.6.x, é necessário chamar os deslocamentos resultantes da alte- armazenamento que esteja em uso pelo alguns procedimentos na inicializa- ração do bloco deverão ser tratados). cloop sem receber erros de leitura. De- ção do módulo. O exemplo 3 deve Portanto, o cloop é muito otimizado pois de receber uma chamada especial fornecer a idéia básica, embora o para a leitura de dados, mas a escrita de ioctl, o cloop espera pacientemente código nele não inclua recursos atualmente não é suportada e prova- até o arquivo ser ativado e analisado extras como verificação de erro e velmente jamais será. novamente, para que se consiga eje- procedimentos de saída. Se for necessário suportar a es- tar um Live CD enquanto o sistema Se um arquivo for passado crita em mídias somente-leitura, é operacional roda a partir dele. como parâmetro do módulo, como melhor usar um sistema de arqui- Um problema é que todos os pro- file=”caminho/para/arquivo”, ele será vos como o AuFS ou o UnionFS, cessos que acessam o dispositivo cloop aberto e associado ao primeiro dis- que cuidam da junção do diretório serão bloqueados até que o arquivo positivo cloop, /dev/cloop0. somente-leitura a um diretório com suporte a escrita. Exemplo 2: Nova imagem cloop O cloop pode lidar com acessos 01 $ sudo losetup /dev/cloop1 /media/cdrom/backup.cloop paralelos a múltiplos arquivos ima- 02 $ sudo mount -r -t ext2 /dev/cloop1 /mnt gem cloop. Se for necessário dividir 03 $ dmesg | tail -2 arquivos por motivo de tamanho no 04 cloop: Initializing cloop v2.622 sistema de arquivos subjacente, isso se 05 cloop: loaded (max 8 devices) 06 cloop: losetup_file: 3571 blocks, 65536 bytes/block, largest block is torna extremamente importante. Um ➥ 65562 bytes. exemplo é a limitação de tamanho

Linux Magazine #39 | Fevereiro de 2008 59 © Linux New Media do Brasil Editora Ltda. TUTORIAL | Cloop

Exemplo 3: Início do dispositivo de bloco Fila de espera A nova técnica para bloquear a I/O 01 register_blkdev(major=240, cloop_name=”cloop”); de dispositivos de bloco é usar uma 02 for(i=0; ifops = clo_fops ferindo-a para uma thread do kernel individual para cada dispositivo, a qual Exemplo 5: Callback direto realiza o trabalho real com uma prio- ridade menor e nenhum spinlock. Isso 01 static int cloop_request_fn(request_queue_t *q, int rw, struct significa que o escalonador de I/O do ➥ buffer_head *bh) dispositivo de bloco nunca bloqueia, 02 { /* do something with the read request ... */ } 03 pois não precisa esperar a finalização 04 blk_queue_make_request(BLK_DEFAULT_QUEUE(cloop_major=240), ➥ da lenta I/O física (exemplo 6). ➥cloop_request_fn); A fila precisa ser adicionada ao disco associado ao dispositivo cloop, Mas como o /dev/cloop0 sabe Dispositivos de bloco dispõem de o que requer uma trava que possa ser o que fazer quando um processo dois métodos para ler um dispositivo. usada pelo kernel quando as requisi- abre o dispositivo de bloco e o lê? O método direto consiste em usar uma ções forem processadas, para evitar a Diferentemente dos sistemas de função de requisição que é chamada manipulação paralela da fila. Uma arquivos, os dispositivos de bloco toda vez que for feita uma leitura no thread do kernel é criada para lidar são uma forma mais complexa de dispositivo com read(). Essa função com o trabalho efetivo de processa- realizar entrada e saída. de requisição é associada à fila de mento da fila interna de requisições Dependendo do tipo de dispositivo blocos padrão que foi criada pelo ID de leitura (exemplo 7). de bloco usado, há algumas operações principal (major ID) do dispositivo A função cloop_handle_request() que precisam ser suportadas e outras cloop quando o dispositivo de blocos agora lê blocos do arquivo imagem que não serão. No caso de um disco ou foi criado (exemplo 5). cloop, descompacta-os na memória e partição, pode-se usar uma estrutura A função cloop_request_fn() precisa transfere para o buffer do processo re- como a do exemplo 4, que informa ao descobrir qual dispositivo foi acessado quisitante as partes dos dados descom- kernel o que fazer se alguém abrir ou e então transferir dados do arquivo primidos que foram requisitadas. fechar um arquivo /dev/cloop*. cloop para o espaço de memória As instruções podem ser arbitraria- A função cloop_open() deve incre- que foi fornecido em buffer_head. mente complexas e levar tanto tempo mentar o contador de uso do dispositivo, Esse método direto foi usado até a quanto necessário, pois cloop_hand- para que o módulo saiba que este está versão 2.06 do cloop. le_request() roda na thread do ker- em uso. A função cloop_close() faz o Uma desvantagem do método direto nel, que é um processo separado e contrário. cloop_ioctl(), um caso espe- é que todo o dispositivo fica bloqueado não bloqueia o sistema todo. cial que lida com o losetup para alterar até que a função cloop_request_fn() Como a requisição já havia sido o arquivo imagem cloop, também sus- retorne. Na verdade, por causa disso, montada a partir de segmentos de I/ pende operações no dispositivo caso o o método direto deixou de funcionar O de bloco, ela deve ser dividida em ioctl CLOOP_SUSPEND seja enviado. a partir do kernel 2.6.22. unidades de dados a serem lidos, que

60 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Cloop | TUTORIAL

Preâmbulo (128 Bytes) Exemplo 6: Acrescentar fila de espera #!/bin/sh 01 /* Called while queue_lock is held by kernel. */ #V2.00 Format 02 static void cloop_do_request(struct request_queue *q) { modprobe cloop file="$0" exit 0 03 struct request *req; ... 04 while((req = elv_next_request(q)) != NULL) { 05 struct cloop_device *clo = req->rq_disk->private_data;; block_size : número de 32 bits, ordem de rede 06 blkdev_dequeue_request(req); /* Dequeue request first. */ 07 list_add(req->queuelist, clo->clo_list); /* Add to working num_blocks : número de 32 bits, ordem de rede ➥ list for thread */ 08 wake_up(clo->clo_event); /* Wake up cloop_thread */ data_index : num_blocos+1 números de 64 bits, ordem de rede 09 } 10 } 11 12 ... 13 14 cloop_dev[i].clo_queue = blk_init_queue(cloop_do_request, clo- ➥ >queue_lock); compressed_data : num_blocos bloco de dados comprimidos 15 cloop_dev[i].clo_disk->queue = cloop_dev[i]->clo_queue;

Exemplo 7: Processamento de requisições pelo kernel

01 static int cloop_thread(void *data) { 02 struct cloop_device *clo = data; 03 current->flags |= PF_NOFREEZE; Figura 2 Estrutura de um arquivo de entrada 04 set_user_nice(current, -20); 05 while (!kthread_should_stop()||!list_empty(clo->clo_list)) { cloop. 06 struct list_head *n, *p; 07 int err = wait_event_interruptible(clo->clo_event, camente fazem o mesmo que read() ou 08 !list_empty(clo->clo_list) || kthread_should_stop()); fread(), que o leitor talvez já conheça 09 if(unlikely(err)) continue; da biblioteca C, mas na camada do ker- 10 list_for_each_safe(p, n, clo->clo_list) { 11 int uptodate; nel, que possui uma visão dos arquivos 12 struct request *req = list_entry(p, struct request, num nível bem mais baixo. ➥ queuelist); O método cloop_load_buffer() recebe 13 spin_lock_irq(clo->queue_lock); o número do bloco e o bloco a ser lido, 14 list_del_init(req->queuelist); 15 spin_unlock_irq(clo->queue_lock); que pode ser calculado a partir do des- 16 uptodate = cloop_handle_request(clo, req); /* do the locamento de bytes da seção de dados ➥ read/decompression */ requisitada por um processo, e o tama- 17 spin_lock_irq(clo->queue_lock); 18 if(!end_that_request_first(req, uptodate, req->nr_ nho de bloco usado no arquivo imagem ➥ sectors)) cloop associado ao dispositivo. 19 end_that_request_last(req, uptodate); 20 spin_unlock_irq(clo->queue_lock); 21 } 22 } Criação da imagem 23 return 0; Após esse rápido passeio pelo lado 24 } do cloop que fica no kernel, vamos 25 ao arquivo imagem. O formato de 26 ... 27 arquivo do cloop (veja a figura 2) é 28 clo->clo_thread = kthread_create(cloop_thread, clo, “cloop%d”, muito menos complicado que o có- ➥ cloop_num); digo-fonte do módulo sugere. Os 128 bytes que aparecem no iní- é o que rq_for_each_bio() e bio_for_ comprimir o ramdisk inicial e alguns cio do arquivo imagem cloop são para each_segment() fazem (exemplo 8). tipos de pacotes de dados compactos futuras extensões e a possibilidade de A função cloop_load_buffer() con- em protocolos de rede. se criar um arquivo imagem cloop siste em um procedimento de leitura Explicar métodos da biblioteca do “executável”. Normalmente, esses física e um descompactador baseado kernel como do_generic_read() com- 128 bytes contêm um script shell que no algoritmo interno do kernel un- preenderia um artigo por si só, mas é chama o modprobe com os parâme- compress(), também usado para des- suficiente dizer que esses métodos basi- tros certos para ativar a imagem, para

Linux Magazine #39 | Fevereiro de 2008 61 © Linux New Media do Brasil Editora Ltda. TUTORIAL | Cloop

Exemplo 8: Divisão da requisição e indexados, e então o cdrecord co- meça a escrever no final do processo 01 /* This function does all the real work. */ de compressão. 02 /* returns “uptodate” */ É preciso assegurar-se de que há 03 static int cloop_handle_request(struct cloop_device *clo, 04 struct request *req) { espaço de swap suficiente disponível 05 struct bio *bio; ao usar esse método. Acrescentar 06 rq_for_each_bio(bio, req) { a opção -b (“best”, melhor) usa as 07 struct bio_vec *bvec; compressões gzip-0 (sem compres- 08 int vecnr; 09 bio_for_each_segment(bvec, bio, vecnr) { são) a gzip-9 (melhor compressão 10 /* read compressed data from file, decompress, por gzip) e 7zip (em modo de com- 11 transfer data to process */ patibilidade com gzip), um após o 12 ... 13 buffered_blocknum = cloop_load_buffer(clo,block_offset); outro, e usam o menor resultado. 14 ... Isso comprime mais ou menos 7% 15 } melhor que o gzip-9 (padrão) so- 16 } zinho; o descompressor encontra 17 } automaticamente o método correto para cada bloco compactado. possibilitar a associação da imagem comprimidos se localizam dentro Na última versão estável das cloop- a um dispositivo cloop através de seu do segmento de dados. utils também é possível usar arquivos caminho. O número de versão no Embora a descompressão de temporários no lugar da memória, cabeçalho é usado para distinguir um arquivo cloop seja mais fácil compressão paralela (com threads) entre versões mais antigas que ainda pela cópia do /dev/cloop para uma para máquinas multiprocessadas e usam números de 32 bits. partição ou arquivo, a compressão um modo de daemon, que permite Em geral, todos os números con- é feita através de um programa de configurar um cluster de compu- tidos no cabeçalho de um arquivo espaço do usuário chamado crea- tadores para compressão veloz de cloop possuem uma ordem de bytes te_compressed_fs. grandes quantidades de dados. de rede independente de arquitetu- Esse programa tem o nome errado, ra, para que a mesma imagem fun- pois não comprime um sistema de cione tanto em sistemas big-endian arquivos, e sim dados arbitrários no Fontes e compilação quanto little-endian. formato do cloop. A chamada mais O código-fonte mais recente do cloop O cloop supõe blocos não com- básica a create_compressed_fs é: está disponível em [1]. Sua compi- primidos de tamanho constante lação pode ser feita com: (ao menos num mesmo arquivo create_compressed_fs entrada imagem), pois dispositivos de bloco ➥ tam_bloco > saida make KERNEL_DIR=/usr/src/fontes/ sempre usam um tamanho de bloco ➥ do/kernel constante, e isso facilita o cálculo do O uso de - como arquivo de en- número de blocos pelo tamanho to- trada obriga a uma leitura de stdin. para criar o módulo cloop.ko, assim tal da partição. O tamanho de bloco create_compressed_fs pode ser usado como o utilitário de compressão do está presente no cabeçalho de um como um pipe, sem necessidade de ler cloop, create_compressed_fs. ■ arquivo cloop. um arquivo temporário, para se fazer Compactar blocos de tamanho backups compactados em CD: constante, todavia, leva a tamanhos Mais informações diferentes na saída compactada, de- mkisofs -l -R /home/klaus | [1] Código-fonte do Cloop: pendendo da compressibilidade dos ➥ create_compressed_fs - 65536 | http://debian-knoppix. ➥ dados. Por isso, o arquivo imagem pre- cd record -v - alioth.debian.org/ cisa de um índice da localização dos blocos compactados antes do início Como create_compressed_fs pre- dos próprios dados compactados. cisa gravar o cabeçalho do índice Sobre o autor Os dados comprimidos, bloco após de blocos antes dos dados, toda a Klaus Knopper é o criador do Knoppix bloco, seguem até o fim do arquivo. imagem comprimida é guardada na e co-fundador do evento Linux Tag. Atu- almente trabalha como professor, progra- Com o índice de blocos no cabe- memória virtual (RAM + swap) até mador e consultor. çalho, o cloop sabe onde os dados todos os dados serem comprimidos

62 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Clusters de alta performance com OpenSSI

Cluster único REDES

O framework OpenSSI rearranja os processos para criar clusters de forma fácil e transparente. por Aleksander Korzynski

m cluster com uma ima- load leveling[1] (nivelamento de carga). A maioria dos aplicativos rodam gem de sistema única (Sin- Outras plataformas SSI para Linux in- no OpenSSI sem qualquer modifi- Ugle System Image, ou SSI) cluem o OpenMosix e o Kerrighed. cação, com algumas exceções, con- é um conjunto de computadores O OpenMosix é, de longe, a forme a lista na página de manual independentes que se comportam alternativa SSI mais popular para do comando migrate. O OpenSSI como um grande sistema multipro- Linux. Entretanto, em julho, foi também oferece uma biblioteca cessado. Plataformas de clusters SSI anunciado que ele seria terminado que os programas podem usar para geralmente são implementadas na em março de 2008. O Kerrighed é controlar o cluster. camada do kernel. relativamente novo, e está sob rápido Em clusters SSI de alta performance, desenvolvimento. o programa nem mesmo precisa saber Este artigo mostrará como con- Administração que está rodando num cluster. O único figurar o nivelamento de carga no A visualização do sistema de arquivos requisito é que o programa inicie múl- OpenSSI, começando com um pa- é igual em todas as máquinas; en- tiplos processos. Esses processos então norama dos recursos relevantes dessa tretanto, o conteúdo de um arquivo circulam, transparentemente, entre os plataforma, depois descrevendo a particular pode ser diferente em cada computadores do cluster. instalação do OpenSSI e sua con- computador do cluster. Isso é possí- Embora clusters SSI não sejam tão figuração, antes de usar um cluster vel através de um recurso conhecido escaláveis quanto algumas das outras para compilar o código-fonte em como Links Simbólicos Dependentes alternativas para essa aplicação, eles múltiplas máquinas de uma vez. de Contexto, ou CDSL. oferecem uma vantagem significativa Por último, será demonstrada uma Um CDSL é um link simbólico no sentido de que o programa que ferramenta para monitoramento e geren- que aponta para diferentes conteú- está rodando no sistema nem mesmo ciamento visual para essa plataforma. dos de arquivo em cada máquina. precisa saber da existência do cluster. O OpenSSI monitora constante- Os dispositivos do computador local Outras plataformas para clusters de mente a carga dos computadores que ficam disponíveis sob /dev/, como de alta performance exigem a presença compõem o cluster, e migra proces- costume, e os dispositivos das outras de segmentos do código-fonte desti- sos automaticamente entre os nós. O máquinas são acessíveis por subdire- nadas à operação em cluster – ou ao sistema OpenSSI é capaz de migrar tórios especiais em /dev/. menos que o programa seja associado aplicativos multi-threaded, mas não O gerenciamento de processos a uma biblioteca de clusters. consegue migrar threads individuais. abrange o cluster inteiro, pois todas O OpenSSI é uma solução para clus- Um processo migrado pode conti- as máquinas compartilham um único ters abrangente e de Código Aberto para nuar com as mesmas operações que espaço de PIDs e um único espaço Linux, baseada na plataforma NonStop estava desempenhando na máquina de nomes para objetos IPC. da HP. A NonStop é derivada do Locus, original. Ele pode ler e escrever nos Além disso, o sistema de arquivos /proc desenvolvida nos anos 80. mesmos arquivos e dispositivos. Um é modificado para mostrar informações O OpenSSI pode espalhar processos processo migrado pode até continuar sobre todos os processos do cluster. transparentemente por múltiplas má- a comunicação entre processos (IPC) Muitas ferramentas padrão de quinas – um recurso conhecido como através de um pipe ou soquete. sistema funcionam com o OpenSSI

Linux Magazine #39 | Fevereiro de 2008 63 © Linux New Media do Brasil Editora Ltda. REDES | OpenSSI

máquinas no cluster se por outro lado, já vem integrado a algu- chama interconnect, ou mas placas de rede, e normalmente é interconexão. Quanto ativado na configuração da BIOS. mais veloz a intercone- xão, melhor o desem- penho do cluster. Live CD Com o Live CD, A forma mais fácil de começar a usar nenhum dos computa- o OpenSSI é através do Live CD; dores necessita de disco entretanto, pode-se encontrar dois rígido. Um dos compu- problemas nele. tadores inicializa pelo O primeiro é que talvez a placa CD-ROM, e os demais de rede não seja suportada. Como o fazem pela rede. Na o Live CD se baseia no velho kernel Figura 1 A ferramenta de gerenciamento webView permite o instalação tradicional 2.4.22, ele talvez não reconheça mo- monitoramento dos nós do cluster. em disco rígido, somen- delos mais recentes de placas. te um computador pre- O outro problema é que, ao contrá- sem qualquer modificação, embora cisa ter esse equipamento. rio do que diz a documentação oficial, algumas sejam especialmente adap- As máquinas que iniciam pela rede o Live CD não oferece bom suporte tadas para a plataforma. Os coman- podem usar para isso um disquete, CD- ao Etherboot. Somente o PXE é bem dos ps ou top, por exemplo, exibem ROM ou uma pequena partição no suportado. Esse problema já foi rela- os processos que rodam em todos os disco rígido, ou por uma placa de rede tado na lista de emails do OpenSSI. computadores do cluster. capaz de inicialização por rede. Verifique se sua placa suporta PXE. Se o cluster precisar ser acessado Em caso negativo, prossiga à instala- de uma rede externa, é importante ção direta no disco rígido. Versões configurar outra placa de rede em A imagem ISO do Live CD está O projeto OpenSSI suporta ramos de uma das máquinas, em vez de usar disponível em [2]. Somente um nó desenvolvimento estáveis e de desen- a interconexão para isso. Será possí- será iniciado a partir dela, e os outros volvimento. As versões estáveis têm vel acessar qualquer computador do nós o farão pela rede. números 1.2.x, e as de desenvolvimen- cluster através do sistema equipado to são da série 1.9.x. O ramo estável com as duas placas. Configuração se baseia no kernel Linux 2.4.x, e o de desenvolvimento, na série 2.6.x. A do cluster versão estável mais recente é o Open- Init e não-init Por motivo de clareza, este artigo SSI 1.2.2, baseado no kernel 2.4.22. A A instalação do OpenSSI é difícil. prossegue com um cluster de dois versão de desenvolvimento é a 1.9.2, A documentação oficial diz que o nós. O primeiro será o nó init e o baseada no kernel 2.6.10. procedimento é “um pouco com- outro o não-init. O OpenSSI é liberado em paco- plicado”. É necessária familiaridade Primeiramente, entre na configu- tes específicos por distribuição. As com a distribuição usada, para que ração da BIOS do nó não-init e ative versões da série estável estão dispo- se consiga investigar e resolver pro- o PXE. Em seguida, reinicie o nó. Ele níveis para o Fedora Core 2, Debian blemas potenciais. vai mostrar seu endereço MAC e parar, 3.1 e Red Hat 9. No OpenSSI, um nó é especial, e esperando o servidor de inicialização. As versões de desenvolvimento recebe o nome de init. Este nó inicia Anote o endereço MAC num papel, estão disponíveis para Fedora Core diretamente de seu sistema de arquivos pois será necessário mais tarde. 3 e Debian 3.1. Também há uma raiz, os outros iniciam pela rede. Agora inicie o nó init a partir do Live versão em Live CD com o OpenSSI Para iniciar os nós não-init pela CD. Espere até ter um prompt de shell. 1.2, baseada no Knoppix 3.6. rede, é necessário o Etherboot ou PXE. Se não for possível iniciar por problemas O Etherboot é instalado numa mídia de hardware, pode-se experimentar a inicializável, como disquete, CD ou instalação no disco rígido. Usar a série Hardware disco rígido, ou mesmo na flash da 1.9.x do OpenSSI em vez da 1.2.x pro- Para criar um cluster OpenSSI, são ne- ROM de uma placa de rede. vavelmente ajudará nesse caso. cessários pelo menos dois PCs e uma Quase todas as placas de rede são Em caso de sucesso na inicialização rede local. A rede usada para conectar as compatíveis com o Etherboot. O PXE, pelo Live CD, já se deve ter o prompt

64 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. OpenSSI | REDES

Caso o hardware Já no Fedora, fica em /etc/syscon- não cause problemas, fig/loadlevellist. seu cluster SSI já deve Para instalar a shell especial estar funcionando, e bash-ll, copie a shell bash padrão você já pode seguir à para um arquivo chamado bash- seção sobre configu- ll e coloque o bash-ll na lista de ração do nivelamento nivelamento. Em seguida, para de carga. nivelar a carga de um programa, rode primeiro o bash-ll. Cada pro- Instalação cesso inicia a partir da nova shell, e todos os seus processos-filhos no disco serão nivelados. Figura 2 Também é possível usar o webView para Para usar o OpenSSI Para terminar a configuração, visualizar informações de estado. em produção, é ne- crie um hard link bash-ll apontan- de shell no nó init. Agora configure o nó cessário instalá-lo no do para o bash: init para aceitar o outro nó no cluster. disco rígido. Essa forma leva mais Para isso, use o comando ssiaddnode, e tempo do que usar o Live CD, e não $ ln /bin/bash /bin/bash-ll responda às várias perguntas feitas. será descrita em maiores detalhes. Para a primeira questão, digite y para Porém, as instruções de instalação No Fedora, o bash-ll é configurado ativar as instruções detalhadas. Em de cada versão do OpenSSI podem por padrão, mas não no Live CD. No seguida, escolha um número de nó ser encontradas em [2]. Assim que Debian, ele é apenas parcialmente entre 2 e 125. Depois, digite o endereço o OpenSSI básico já estiver instala- configurado. MAC do nó anotado antes no papel. do, a configuração de seus recursos Note que os números devem estar se- é coberta em [3]. parados por dois-pontos (:), independente Teste de nivelamento de como o PXE tenha exibido na tela. Para testar a configuração, execute o Depois, informe o endereço IP do novo Nivelamento de carga demo que vem com o OpenSSI. Ele nó. Como o nó init recebe automatica- Com um cluster OpenSSI básico funciona da seguinte forma: primei- mente o IP 10.0.0.1, é bom escolher para em funcionamento já é possível ro, você desativa o nivelamento de o nó não-init um IP do espaço 10.x.x.x. configurar o nivelamento de carga. carga. Depois, executa um programa Ao responder se o nó não-init usa PXE Para configurar o ou Etherboot, selecione PXE. Digite OpenSSI para usar Exemplo 1: Demo de nivelamento de carga um nome para o nó (o init se chama nivelamento de car- Knoppix1, automaticamente). ga para um progra- user@debian:~$ demo-proclb -m 1800 in_file Ao final, pressione [Enter] duas vezes ma, pode-se colocar Forked child 50 / 50 1: 0 ##### |1800: 575 recs/sec para confirmar a configuração. Agora o nome do mesmo na 2: 0 ####### |1800: 812 recs/sec que o nó init já está configurado, o não- lista de nivelamento 3: 0 ####### |1800: 833 recs/sec init já pode se juntar ao cluster. ou executar a shell 4: 0 ####### |1800: 837 recs/sec Reinicie o não-init e espere até ver especial bash-ll an- 5: 0 ####### |1800: 841 recs/sec 6: 0 ####### |1800: 833 recs/sec o prompt de shell. Digite cluster -v tes de invocar o pro- 7: 0 ####### |1800: 835 recs/sec para confirmar o sucesso do início grama. 8: 0 ####### |1800: 835 recs/sec do nó não-init. Se um programa 9: 0 ####### |1800: 817 recs/sec 10: ####### |1800: 791 recs/sec Se o novo nó não iniciar, pode-se estiver na lista de ni- 11: 0 ########## |1800: 1183 recs/sec tentar reiniciar o servidor de inicializa- velamento, todos os 12: 0 ############ |1800: 1431 recs/sec ção e depois reiniciar o não-init. Esse processos criados por 13: 0 ########### |1800: 1375 recs/sec passo às vezes é necessário porque o ele, assim como todos 14: 0 ############ |1800: 1425 recs/sec 15: 0 ########## |1800: 1172 recs/sec servidor não responde à mesma máqui- seus processos-filhos, 16: 0 ############# |1800: 1592 recs/sec na duas vezes. Para reiniciá-lo, digite os terão sua carga nivela- 17: 0 ########### |1800: 1320 recs/sec seguintes comandos no nó init: da. No Live CD e em 18: 0 ############ |1800: 1486 recs/sec distribuições Debian, 19: 0 ############# |1800: 1504 recs/sec 20: 0 ############ |1800: 1479 recs/sec /etc/init.d/dhcp restart a lista reside em /clus- 21: 0 ############ |1800: 1477 recs/sec /etc/init.d/inetd restart ter/etc/loadlevellist.

Linux Magazine #39 | Fevereiro de 2008 65 © Linux New Media do Brasil Editora Ltda. REDES | OpenSSI

Pode-se usar a imagem de initrd dados em cada nó do cluster (figura presente em /boot/. O comando demo- 1), monitorar o estado de cada nó proclb arquivo roda o demo com o (figura 2) ou analisar gráficos com arquivo de entrada. várias estatísticas (figura 3). Também Depois de observar o processamen- é possível monitorar os processos de to durante alguns segundos, religue cada nó e migrar cada um manual- o nivelamento com: mente para outro nó. Para usar o webView, primeiro é # /etc/init.d/loadlevel start. preciso instalar o OpenSSI no dis- co rígido. Há instruções para isso Poucos segundos após o religa- em distribuições como Debian[4] mento, a quantidade total de dados e Fedora[5]. processados por segundo deve au- mentar. O exemplo 1 demonstra o funcionamento do programa demo. Conclusão Cada linha representa a quantida- Os recursos do OpenSSI são impres- Figura 3 Os gráficos oferecem uma representa- de de dados processados num dado sionantes, e é grande a ambição do ção visual do desempenho do cluster. segundo. O nivelamento é ativado projeto. Porém, as versões estão bem em t=9. atrás do desenvolvimento do kernel demo específico. O programa gera Linux. Com o projeto OpenMosix vários processos. A cada segundo, o chegando ao fim de sua existência, e o programa emite informações sobre Compilação paralela Kerrighed em rápido desenvolvimen- quantos dados são processados por Se você é um desenvolvedor de soft- to, o futuro do OpenSSI permanece segundo. Depois, você ativa o nive- ware, pode usar um cluster OpenSSI em aberto. Por enquanto, aproveite-o. lamento de carga e os processos são para acelerar seu compilador. Na Em [6] há um extenso comparativo espalhados pelo cluster. Nesse mo- prática, essa solução só é mesmo de desempenho entre o OpenSSI e mento, já é possível observar o au- conveniente em conjunto com a seus concorrentes. ■ mento na quantidade total de dados instalação em disco. processados por segundo. Com o parâmetro -j N, o comando Se o demo não estiver presente make divide a tarefa de compilação em sua instalação de disco rígido, em N processos paralelos. Então, para Mais informações procure no site do OpenSSI. No compilar seu projeto usando múlti- [1] Introdução ao OpenSSI: Live CD, ele está disponível em plos nós, primeiro adicione o make à http://openssi.org/ /demo-procld. lista de nivelamento e em seguida ssi-intro.pdf Para executar o demo no Live CD, compile o projeto com: inicie ao menos dois nós no cluster. [2] Download do OpenSSI: No Live CD, o programa já se en- $ make -j N projeto http://tinyurl.com/ytj99a contra na lista de nivelamento, mas [3] Documentação do OpenSSI: é preciso adicioná-lo ao PATH: onde N é um número igual ou http://tinyurl.com/2xxbez maior que o número de nós que se [4] OpenSSI webView # export PATH=$PATH:/demo-proclb deseja usar. para Debian: http:// Em seguida, alterne para outro Na instalação em disco, pode-se wiki.openssi.org/go/ console no mesmo nó e desative o instalar também a excelente ferra- OpenSSI_webView nivelamento temporariamente: menta visual de monitoramento e gerenciamento do OpenSSI. [5] OpenSSI webView para Fedora: http://openssi- # /etc/init.d/loadlevel stop webview.sourceforge. net/install.php Agora o nivelamento de carga está OpenSSI-webView desativado. Volte ao console anterior O OpenSSI-webView é uma ferramen- [6] Comparativo entre OpenMosix, OpenSSI e para rodar o programa demo. Ele exi- ta desenvolvida em PHP por Kilian Kerrighed: ge um arquivo de entrada, que pode Cavalotti. Sua interface é dividida http://tinyurl.com/ysofho ser qualquer arquivo grande. em várias abas. Pode-se visualizar os

66 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. O Outguess esconde textos em imagens Segredos gráficos SEGURANÇA

Ferramentas de esteganografia permitem que se esconda mensagens secretas em arquivos comuns. O Outguess traz essa funcionalidade à linha de comando. por Erik Bärwaldt

sanja gjenero - www.sxc.hu

criptografia é essencial para transmissor de forma que ela se tor- existência é escondida do curioso sem qualquer pessoa que se pre- ne invisível para terceiros. O meio autorização (veja o quadro 1). Aocupe com a privacidade na transmissor pode ser uma foto digital O Linux oferece várias ferramentas de Internet. No cenário clássico de comum, um arquivo de áudio, ou até esteganografia bastante testadas e seguras, criptografia, a mensagem é cripto- mesmo um arquivo de texto. Com todas comparáveis a soluções comerciais. grafada e transmitida, e o receptor isso, não apenas a mensagem se tor- Este artigo descreve como esconder suas a decifra e lê, na outra ponta. Essa na ilegível para o bisbilhoteiro com mensagens com o aplicativo estegano- técnica tem várias desvantagens, in- técnicas convencionais, sua própria gráfico chamado Outguess[1]. cluindo o trabalho adicional exigido pela criptografia, o perigo da perda das chaves e o fato de que qualquer evidência de criptografia na verdade acaba tornando a mensagem um algo potencialmente interessante. Em algumas situações, até a crip- tografia padrão é conspícua demais. Por exemplo, pode ser desejável não apenas ocultar o texto da mensagem, como também esconder o fato de que a mensagem sequer foi enviada. A esteganografia oferece uma técnica elegante para o problema de esconder o conteúdo de uma mensa- gem. O objetivo da esteganografia é Figura 1 O Outguess embute uma mensagem numa imagem em questão embutir uma mensagem num meio de segundos.

Linux Magazine #39 | Fevereiro de 2008 67 © Linux New Media do Brasil Editora Ltda. SEGURANÇA | Esteganografia com Outguess

Quadro 1: Mais sobre esteganografia O programa começa seu traba- lho investigando o arquivo trans- Do autor do Outguess, Niels Provos missor em busca de informações A esteganografia é a arte e a ciência de ocultar a presença de comunicação. redundantes que poderiam ser Um sistema esteganográfico embute conteúdo oculto em meios que pos- sam ser enviados sem levantar suspeitas em bisbilhoteiros. modificadas sem causar alterações visíveis na imagem. Tatuagens escondidas e tinta invisível já foram usadas para realizar a comuni- Ao se embutir dois arquivos de cação esteganográfica. Agora, tecnologias de rede e computadores oferecem texto no mesmo meio, o Outguess canais de comunicação fáceis de usar para propósitos esteganográficos. faz uma verificação antes de em- Em geral, o processo de ocultação identifica partes redundantes de um meio butir o segundo texto, checando se transmissor. As partes redundantes são aquelas que podem ser modificadas alguns bits estão reservados; ou seja, sem prejuízo à integridade do meio transmissor. O processo de embutir a se o programa já decidiu usá-las para mensagem cria o meio estego substituindo as partes redundantes com da- embutir parte do primeiro texto, o dos da mensagem oculta. que significaria que não estão dis- Apesar de os sistemas esteganográficos clássicos dependerem do segredo poníveis para modificação por um do sistema de codificação, a esteganografia moderna busca ser indetectá- segundo texto. vel, a menos que se conheça uma chave secreta. Após encontrar suficientes dados Porém, devido a sua natureza invasiva, esses sistemas podem deixar tra- redundantes, esses mesmos dados ços detectáveis nas características do meio, o que poderia abrir espaço são extraídos. O processo de em- para bisbilhoteiros detectarem os meios que foram modificados, revelando butir o texto se baseia no método a ocorrência de comunicações secretas. Mesmo que o conteúdo secreto LSB: o bit menos significativo de não seja revelado, sua existência fica exposta, o que elimina o único pro- cada valor de cor de um pixel é pósito dessa ciência. modificado e depois escrito no- Um sistema de esteganografia é considerado seguro se um bisbilhoteiro que vamente no arquivo. Ao mesmo interceptar o meio estego não possuir qualquer algoritmo melhor do que o tempo, a correção de erros garan- chute para determinar se o conteúdo oculto está presente. Entretanto, como te que as modificações tenham o modificações ao meio transmissor podem alterar suas propriedades estatís- menor efeito possível. ticas, freqüentemente é possível descobrir essas distorções no meio estego. Esse processo de análise é chamado de esteganálise estatística. Atualmen- te, os sistemas esteganográficos mais usados são detectáveis. Instalação O Outguess está incluído em mui- tas distribuições Linux. No Ubun- Função uma escolha segura. Além disso, tu e outros derivados do Debian, A ferramenta esteganográfica Out- o Outguess é feito para embutir pode-se instalá-lo com o apt. Em guess é um programa de linha de mensagens somente em arquivos outras distribuições, os pacotes biná- comando. Ele não oferece muitas de imagens, nos formatos PPM, rios estão disponíveis no repositório opções na linha de configurações PNM e JPEG. Rpmseek[1]. Por último, o código- opcionais ou parâmetros. Por exem- Restringir a escolha de formatos fonte também está disponível[2] plo, o Outguess não permite que possui a vantagem de que o estega- para qualquer distribuição sem um os usuários escolham um método nograma fica seguro contra ataques binário pré-compilado. de criptografia a partir dos vários visuais ou estatísticos causados por uma métodos disponíveis – os usuários escolha incorreta de meio de trans- precisam contentar-se com o algo- missão. O recurso mais importante do Uso ritmo RC4. Dito isso, o RC4 já se Outguess é sua capacidade de ocul- O primeiro passo para usar o Outguess mostrou resistente a várias técni- tar dois arquivos de texto num único é encontrar um meio adequado para cas de criptoanálise, e portanto é meio transmissor de uma vez. o arquivo texto que se deseja escon- der. É interessante escolher imagens sem cores fortemente contrastantes. De forma geral, quanto mais borrada ou imprecisa for a imagem, e quan- to mais homogênea sua aparência, melhor ela conseguirá proteger-se Figura 2 A mensagem é extraída e escrita num arquivo texto. de ataques visuais.

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

Imagens borradas têm mais em que o conteúdo do arquivo ar- outguess -k senha2 -e -r potencial na forma de dados re- quivo_texto será embutido no arquivo ➥esteganograma arquivo_texto dundantes; bits redundantes são de imagem meio, gerando o estega- o local de armazenamento das nograma (mensagem com conteúdo informações, pois podem ser mo- de texto) saida, sendo que a mensa- Conclusão dificados sem causar alterações à gem será cifrada com a senha senha. O Outguess é rápido, estável e muito imagem final. (figura 1). fácil de usar após uma suave curva Além disso, é uma má idéia usar O receptor pode então usar o se- de aprendizado. E sobretudo, o soft- imagens da Internet, principalmen- guinte comando: ware é eficaz. te se for proveniente de um site Supondo que se escolha um popular. Um atacante potencial outguess -k senha -r esteganograma arquivo de transmissão adequado, que suspeitar do uso da estegano- ➥ arquivo_texto e que ele seja grande o suficiente, grafia pode compará-la à original, pode-se facilmente ocultar duas e então obter com facilidade os para realizar o processo contrário, mensagens num único arquivo sem bits diferentes, revelando não ape- escolhendo qualquer nome para alterar sua aparência final. O Out- nas a presença, como também o arquivo_texto (figura 2). guess não sofre do problema que conteúdo do texto antes oculto. As O processo para embutir dois ar- afeta várias outras ferramentas es- diferenças de tamanho, principal- quivos com o Outguess é semelhante. teganográficas: pixels visivelmente mente no caso de imagens JPEG O comando seria: mais claros no esteganograma. comprimidas, facilitam ainda mais Se a mensagem de texto a ser a identificação de mensagens ci- outguess -k senha1 -d texto1 -E -k embutida for grande demais para fradas dentro da imagem. ➥ senha2 -D texto2 meio o arquivo transmissor, o software Após encontrar um meio apropria- ➥ esteganograma pára o processo e emite um aler- do, pode-se embutir o texto secreto ta. Ele também está bem prote- com um comando como: Obviamente, o receptor não pre- gido contra ataques estatísticos, cisa extrair ambos os textos. Para pois espalha automaticamente o outguess -k senha -d arquivo_texto extrair somente a segunda mensa- conteúdo embutido por todo o ar- ➥ meio saida gem, ele digitaria: quivo, diluindo as alterações pela imagem inteira. Ainda que um atacante consiga recuperar o texto oculto na ima- gem, a batalha ainda não termina: o Outguess não embute texto puro na imagem, mas usa o algoritmo crip- tográfico RC4, considerado seguro ainda hoje. Outras ferramentas esteganográ- ficas, como o popular Steghide[3], também estão disponíveis para o ambiente Linux. ■

Mais informações

[1] Repositório Rpmseek: http://rpmseek.com

[2] Outguess: http://www.outguess.org

[3] Steghide: http://steghide. sourceforge.net/ Figura 3 É possível até escrever 2 mensagens na mesma imagem transmissora.

Linux Magazine #39 | Fevereiro de 2008 69 © Linux New Media do Brasil Editora Ltda. Gerenciamento de conteúdo com o Plone 3.0 Campeão de conteúdo

A simplicidade e o poder do Plone tornam-no a escolha de CMS de Código Aberto para sites sofisticados. Sua versão 3.0 traz diversos avanços e melhor suporte a aplicações corporativas.

ANÁLISE por Jan Ulrich Hasecke

Pam Roth - www.sxc.hu

classe de ferramentas conhe- de workflow avançados. A última ver- programadores de extensões. O Plone cida como Gerenciadores de são também traz novos recursos, como roda em todos os principais sistemas AConteúdo (CMS, na sigla em edição inline verificação de links e refe- operacionais, incluindo Windows®, inglês) inclui tudo desde softwares rências e indexação do texto completo Linux e Mac OS X, e há instaladores de fórum como o PHPBB passando de documentos PDF e DOC. que fazem todo o trabalho por você. por programas para blogs como o O Zope é um sistema profissio- Caso deseje experimentar o Plone, Wordpress, até sistemas complexos nal, e o equivalente em Python dos é interessante optar por essa técnica, como o Typo3. Muitas dessas ferra- poderosos sistemas de desenvolvi- que o leva sem esforço a uma tela do mentas baseiam-se no PHP. Como mento web para Java, como JBoss, Plone (veja a figura 1). a maioria dos serviços de hospeda- Websphere ou Weblogic. Com sua Para uma instalação profissional, gem já suportam PHP, os aplicati- arquitetura de componentes, o Zope talvez seja mais interessante compilar vos CMS que usam essa linguagem oferece uma base absolutamente só- todos os componentes – Python, Zope estão muito difundidos. Entretanto, lida para o Plone, tornando-o muito e Plone – a partir do código-fonte. as ferramentas em PHP rapidamente interessante para aplicações críticas O Plone 3.0 exige a versão 2.4.4 do atingem um limite quando é alta a de negócios. Assim como o Zope, o Python e o Zope 2.10.4. demanda por segurança, gerencia- Plone também se baseia em Python, O Plone não requer um banco de mento de acesso para usuários e gru- uma linguagem de programação dados relacional, pois o sistema usa pos, e gerenciamento de processos orientada a objetos conhecida por o banco de dados integrado Zope com base em workflow. sua elegância e simplicidade. object database, ou ZODB. Nos últimos anos, o CMS de esco- O código em Python, altamente O ZODB adere ao ACID; suporta lha para aplicativos mais sofisticados legível, é útil em projetos nos quais o a reversão de operações, replicação e tem sido o Plone[1], que se baseia no trabalho em equipe seja importante. funcionalidade de backup “a quen- servidor de aplicações web Zope. Ele também possui uma das maiores e te”. Ele também pode usar os Zope O projeto Plone lançou em Agosto mais ativas comunidades de desenvol- Enterprise Objects (ZEOs) como uma uma nova versão. O Plone 3.0 herda a vimento de Código Aberto, com 160 solução central de servidor de banco reputação de alta segurança e recursos desenvolvedores centrais e mais de 500 de dados para servir dados a múltiplas

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

instâncias paralelas do Zope com fins Esse efeito é alcançado com Ajax, ma de arquétipos para definir seus de balanceamento de carga. que o Plone suporta graças à platafor- próprios tipos de artigos; em muitos Isso torna o Plone altamente esca- ma KSS[2] (Kinetic Style Sheets). casos, os front-ends estão disponíveis lável, mas, se for preferível usar um O Plone armazena informações em para auxiliar nessa tarefa. banco de dados SQL, é possível usar objetos chamados article types (tipos de Além do gerenciamento de conte- mapeadores objeto-relacionais para artigos). Há um esquema para cada tipo údo pelo navegador, o Plone também ligá-los ao Plone. de artigo, e os usuários podem exibí-lo suporta clientes Webdav e FTP. Uma como um formulário no qual dados são pasta do Plone pode ser exibida numa inseridos. O sistema é flexível o suficiente máquina cliente como um diretório Edição simples para lidar com diferentes tipos de infor- de um sistema de arquivos via Web- O Plone possui uma interface gráfi- mação. A tabela 1 mostra alguns tipos dav. Portanto, é possível guardar no ca bastante intuitiva. A edição está de artigos padrão do Plone. Plone documentos ODT ou DOC, integrada ao layout normal do site, Em todos eles o conteúdo é cate- por exemplo. em vez de exigir uma interface de gorizado com ajuda de um sistema edição separada. Isso significa que de metadados que obedece ao Dublin Opções de entrada os usuários podem ver o efeito de Core Schema[3]. Os metadados per- Os usuários podem escolher cam- suas alterações imediatamente, no mitem a ligação de diferentes conte- pos, menus de rolagem ou botões lugar de lutar contra as ferramentas údos do website, ou que se encontre de rádio para inserir entradas. O de navegação de um sistema editorial conteúdo de forma direcionada atra- Plone também possui várias opções separado. Ao editar um artigo, ele é vés de buscas. Por exemplo, coleções para criação do texto do corpo com simplesmente exibido com uma ou- podem listar itens por referência a cabeçalhos, listas de itens, imagens tra moldura, que contém os menus seus metadados. integradas e links. Ele suporta lin- de edição apropriados. guagens de marcação como ReST, Caso você tenha as permissões, é Extensões de Markdown[4] e Textile[5], que são possível clicar para alternar elementos convertidas para HTML após o sal- isolados de uma página, tais como o tipos de mídia vamento. Os usuários técnicos apre- cabeçalho, a descrição e o texto do As extensões do Plone fornecem mais ciam esses formatos de entrada, que corpo, para o modo de edição, sem tipos de artigo, por exemplo, para oferecem uma forma conveniente afetar o resto da página. Esse método pesquisas ou conteúdo multimídia, e simples para digitar comandos de é realmente útil caso se deseje fazer ou ainda acrescentam novas funções formatação através do teclado. rápidas mudanças editoriais. a tipos de artigo já existentes. Os de- A maioria dos usuários tende a pre- senvolvedores podem usar a platafor- ferir o editor de texto Kupu, com me- nus remanescentes de outros grandes programas de processamento de texto (figura 2). Além de vários estilos padrão, o Kupu possui ferramentas para digi- tação de tabelas e inclusão de links, imagens e vídeos. Marcações HTML potencialmente maliciosas são remo- vidas antes de guardar as entradas. O Kupu roda em navegadores Mozilla e Internet Explorer, mas não suporta o Konqueror, Safari ou Opera. Gerenciamento de acesso Graças ao esquema bem planejado de gerenciamento de acesso, o Plone suporta a colaboração entre grupos Figura 1 Interface do Plone após a instalação. Em Get Started estão as de usuários maiores num ambiente funções de gerenciamento do sistema. web seguro. A edição colaborativa

Linux Magazine #39 | Fevereiro de 2008 71 © Linux New Media do Brasil Editora Ltda. ANÁLISE | Plone 3.0

de informações por um lado, e a público. Simplificando, o conteúdo criar vários workflows em paralelo confiabilidade, pelo outro, são os privado só pode ser visualizado por num mesmo site. Isso significa que requisitos que demandam flexibi- seu criador, enquanto o público é se pode definir um workflow global- lidade máxima de um CMS num acessível a todos os visitantes do mente para todo o site, mas com a website maior. site. Os usuários com permissões mesma facilidade atribuí-lo a tipos Para lidar com isso, o Plone geren- adequadas podem fazer mudanças de artigo individuais (por exemplo, cia o acesso com base nos papéis dos ou alterações de estado. notícias, imagens ou datas), ou ape- usuários, o que pode dar a usuários Um workflow é um conjunto de nas usá-lo localmente para uma seção individuais ou a grupos de usuários estados e transições. O Plone 3.0 específica do site. privilégios de acesso bastante granu- traz quatro diferentes workflows pré- O administrador do site tem mais lares, tanto globalmente para todo o configurados: liberdade para reagir às necessidades website quanto localmente para uma ➧ Estado único – O conteúdo é dos usuários. Por exemplo, é possível parte específica do site. publicado imediatamente, e configurar uma área que somente De forma simplificada, os papéis visível para todos os usuários.; seja acessível a um grupo interno, são uma camada de abstração que ➧ Publicação simples – Os pró- e atribuir-lhe o workflow de estado contém um conjunto de permissões prios proprietários podem pu- único para dar a todos os usuários específicas e granulares que o Zope blicar o conteúdo; acesso imediato à nova informação. e o Plone 3.0 suportam sob a super- ➧ Intranet – O conteúdo fica Outra área do site poderia ser gover- fície. Como um conjunto de várias visível somente para usuários nada pelo workflow de intranet com permissões individuais é difícil de registrados. Os editores podem múltiplos estágios ou de comunidade, tratar, os papéis fornecem um tipo publicar internamente; caso para assegurar que o conteúdo seja de contêiner intuitivo. Os adminis- seja necessário, o conteúdo aprovado antes da liberação. tradores podem ativar ou desativar pode ser tornado acessível a as permissões de papéis a qualquer visitantes anônimos.; momento, e assim alterar a configura- ➧ Comunidade – O conteúdo é Versões e eventos ção. O Plone 3.0 define os seguintes liberado para o público pelos O Plone 3.0 possui um sistema de con- papéis por padrão: publicadores. trole de versões. Para editar um artigo já ➧ Membro (usuário registrado) Além desses workflows, nada mais existente, o usuário primeiro cria uma ➧ Leitor (pode ler o conteúdo) é necessário para criar tanto sites pri- cópia funcional e edita seu conteúdo ➧ Contribuidor (pode adicionar vados quanto soluções para grandes em segundo plano, enquanto a versão conteúdo) intranets corporativas. É possível original permanece exposta para o ➧ Editor (pode editar conteúdo) ➧ Publicador (pode publicar conteúdo) ➧ Gerente (pode modificar a es- trutura do site) ➧ Proprietário (usuário que criou o conteúdo original) É possível atribuir papéis a usu- ários individuais ou grupos, tanto globalmente quanto para regiões específicas do site.

Workflows Bem próximo ao gerenciamento de acesso está a possibilidade de mape- ar workflows. No Plone, workflows definem o escopo de um processo editorial organizado. O conteúdo pode assumir vários estados dife- Figura 2 O editor integrado Kupu facilita a entrada de conteúdo HTML mes- rentes – por exemplo, privado ou mo sem conhecimentos dessa linguagem.

72 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Plone 3.0 | ANÁLISE público em geral. Depois de finalizar Tabela 1: Tipos de artigos do Plone a edição, o autor pode liberar a nova versão, compará-la à anterior e até vol- Tipo de artigo Descrição tar a uma outra versão mais antiga. Os Pasta ( ) Usado para estruturar o website artigos ficam bloqueados para impedir Folder a edição por outros usuários quando o Página (Page) Compreende um título, um atalho e o corpo do texto artigo for aberto à leitura. Notícia (News) Tem estrutura semelhante a uma página, mas também in- Um importante novo recurso é o clui uma figura, mostrada na página da lista de notícias controle de eventos, que automatiza vá- Imagem (Image) Para guardar, redimensionar e exibir formatos de figuras rios eventos críticos. Os administradores Arquivo (File) Para armazenar arquivos nos formatos PDF, Word ou ou- podem ligar eventos tais como criação, tros, que os usuários podem baixar modificação e remoção de itens, ou Link Para guardar links comentados ainda transições de workflow, a outras Data (Date) Para datas, eventos etc. ações no CMS. Isso inclui criar cópias Coleção Uma pasta virtual que pode exibir conteúdo com base em ou enviar notificações por email, por (Collection) padrões complexos de busca exemplo. As regras que ditam como as ações ocorrem também podem conter condições. Estas podem ser especifica- o usuário verá uma mensagem na avançada permite que os usuários das num menu e atribuídas a artigos hora de apagar, podendo cancelar a definam chaves de busca mais com- ou pastas individuais. operação ou editar os documentos plexas e limitem os resultados por que fazem referência ao artigo. hora, estado, palavras-chave, autor ou As funções de busca ajudam os usu- tipo de artigo. Em ambos os casos, * Links ários a encontrar informações. O Zope é um curinga, e os operadores lógicos Conteúdos movidos ou deletados guarda conteúdo e metadados em índi- AND e OR também são suportados. também criam links órfãos. O Plo- ces separados, que podem ser buscados Se estiverem instalados os pacotes ne 3.0 resolve esse problema por separadamente. Os usuários podem fazer wvware ou xpdf/pdftotext no servidor, meio de verificações de integrida- uma rápida busca em todos os catálogos o Zope também verifica o conteúdo de automatizadas. Quando algum e, num navegador com Javascript ativado, de arquivos Word e PDF. conteúdo é movido, o Plone envia os resultados serão mostrados enquanto as requisições do navegador para o a chave de busca é digitada. novo destino. Ao tentar apagar um Se a procura não retornar os resul- Sitemaps do Google artigo referenciado por outra página, tados desejados, o recurso de busca Como o CMS suporta o padrão Site- map Protocol usado pela maioria dos mecanismos de busca como Google, Yahoo e MSN para encontrar novas páginas mais rápido e com mais efi- ciência, a cooperação entre os sites em Plone e as máquinas de busca é muito eficiente. Os modelos de páginas do Zope (Zope Page Templates[6], ou ZPT, exemplo 1) permitem que os usuários criem páginas HTML modulares no Plone. O Zope já usa modelos de páginas para criar sites dinâmicos há muitos anos, e o recurso está bem documentado. Uma página padrão é composta por vários modelos. Para personalizá-los, é possível modificá-los ou apenas mudar a forma como são arranjados. Os modelos são responsáveis por exibir o conteúdo; a lógica da aplica-

Linux Magazine #39 | Fevereiro de 2008 73 © Linux New Media do Brasil Editora Ltda. ANÁLISE | Plone 3.0

ção, como uma busca do conteúdo de Apesar das novas funções, o Plone Atualizo ou espero? uma lista específica, fica em scripts está mais rápido do que nunca. Testes O Plone 3.0 tem várias novas fun- externos, garantindo assim a separa- com o Apache Benchmark mostraram ções que facilitam o uso desse CMS ção estrita entre conteúdo, lógica da resultados melhores para o Plone 3.0 por usuários experientes. O geren- aplicação e visualização. em comparação com a versão 2.5.3. ciamento de acesso para usuários O Plone utiliza um layout sem Alexander Limi, um dos fundadores e grupos é um dos pontos fortes barreiras, baseado em CSS e em do Plone, publicou resultados de do Plone, e a nova versão introduz XHTML. Ele segue o padrão interna- testes em seu blog, mostrando que importantes avanços. cional da W3C WAI-AA/WCAG 1.0[7] a exibição de páginas requer menos A versão 3.0 também fornece ao e os requisitos da seção 508 da lei dos da metade do número de requisições administrador uma forma mais fácil EUA[8] relacionados a websites sem HTTP usados pelas versões anterio- de implementar cenários complexos barreiras. Os webdesigners podem res[9]. Além disso, as páginas HTML para as aplicações e as raízes do Plone usar CSS para alterar a aparência de geradas pelo Plone 3.0 são menores no Zope reforçam a segurança. cada elemento de uma página, até os que aquelas da versão anterior. Ao iniciar um novo projeto, mínimos detalhes dos elementos mais considere o Plone 3.0. Atualizar básicos. Isso significa que é possível Mais rápido um sistema que não tenha sido mudar radicalmente a aparência de profundamente personalizado não um site pré-definido simplesmente com cache deve apresentar problemas. Mas se alterando a folha de estilo. Requisições para páginas dinâmicas tiverem sido acrescentadas exten- Uma folha de estilo especial per- que executam scripts e compilam a sões de terceiros a uma instância mite que os usuários imprimam página HTML final a partir de um do 2.5.3, talvez seja preferível es- páginas do Plone sem irritarem os conjunto de modelos costumam so- perar extensões compatíveis antes elementos de navegação. A versão brecarregar os recursos. Para evitar de atualizar. ■ 3.0 também possui uma folha de isso, o Plone tem várias funções de estilo S5 que renderiza o conteúdo cache que reduzem o tempo exigido num navegador para apresentação para rotinas mais complexas. através de um projetor de vídeo. A Embora o Zope tenha seu pró- Mais informações interface gráfica do Plone já foi tra- prio servidor web, ele geralmente é [1] Plone: http://plone.org duzida para mais de 50 línguas, e a usado com o Apache ou um proxy extensão Linguaplone permite aos como o Squid ou Varnish. Os ZEOs [2] KSS:

editores a manutenção de conteúdo permitem que os administradores http://kssproject.org em múltiplos idiomas. O Plone cria distribuam o banco de dados e di- [3] Dublin Core: uma cópia de cada tradução; que é vidam a carga por servidores Zope http://dublincore.org ligada ao documento original. para melhorar a escalabilidade de [4] Markdown: sites em Plone sem se aventurar por http://daringfireball. Single Sign-on sua estrutura. net/projects/markdown O CMS tem seu próprio mecanismo A complexidade e o poder do Plone de autenticação. Para implementar o não o tornam inadequado para aplica- [5] Textile: chamado single sign-on (registro úni- ções simples. Em particular, a segurança http://hobix.com/textile co), pode-se adicionar uma extensão oferecida pelo servidor de aplicações [6] Modelos de páginas: LDAP ou OpenID ao Plone; outros Zope torna o Plone interessante até http://zpt. mecanismos centrais de autentica- para os menores sites, principalmente sourceforge.net ção são suportados, mas exigem mais quando se considera que o Plone ofe- [7] Padrão WAI da W3C: trabalho manual. rece um CMS profissional ao pressio- http://www.w3.org/ O Plone 3.0 oferece aos usuários nar de um botão. Mas é lógico que o TR/WAI-WEBCONTENT registrados uma página de boas-vindas Plone fica “em casa” em grandes sites [8] Seção 508 da lei americana: personalizada, ou dashboard. A partir corporativos e institucionais. http://www.section508.gov dela, pode-se acessar informações do O CMS adota a licença GPL, e a website de uma forma individual e marca e o código-fonte pertencem à [9] Benchmarks: exibir, por exemplo, as notícias mais Plone Foundation, um fato tranqüili- http://limi.net/articles/ some-preliminary-plone- recentes ou qualquer novo conteúdo zador para aqueles que se interessarem 3.0-benchmark-results de forma personalizada. em investir tempo no Plone.

74 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Sinais em interfaces gráficas com PHP-GTK Programação de sinais PROGRAMAÇÃO

Para conectar a interface gráfica de um programa ao restante do código, é preciso usar sinais. por Pablo Dall’Oglio Carsten Müller - www.sxc.hu

o artigo anterior, estuda- Contêineres Web, onde o fluxo de execução do mos as diversas formas de Alguns widgets podem conter outros aplicativo é baseado na requisição de Nse construir uma interface em seu interior, como por exemplo a páginas, em aplicações standalone em PHP-GTK. Neste terceiro artigo, janela, o frame, o notebook, um botão como a GTK, a programação é ba- veremos como programar aplicativos ou uma janela de rolagem. Nesses seada em sinais e eventos. para que estes respondam à interação casos, eles também são chamados Um sinal é uma mensagem enviada com o usuário através da programa- de containers (contêineres). Um por um widget sempre que o usuário ção de sinais. contêiner é utilizado para organizar interage com ele. Diferentes widgets a interface e distribuir seu conteúdo. emitem diferentes sinais sob diferentes Nem todo contêiner é visível, existem circunstâncias. Pode parecer comple- Widgets contêineres como as caixas vertical xo, mas na verdade é bastante simples. Como vimos no artigo anterior, a (GtkVBox) e horizontal (GtkHBox), Um botão, por exemplo, emite o si- biblioteca GTK é formada por um além da tabela (GtkTable) que não conjunto de classes organizadas hie- são perceptíveis ao usuário, sendo rarquicamente. A maioria dessas clas- que somente seu conteúdo é visível. ses implementam widgets. “Widgets” A figura 2 mostra alguns exemplos é o termo utilizado para descrever de contêiners. um elemento gráfico de uma inter- face. Um widget pode ser um botão, um botão de rádio (radiobutton), um Sinais e callbacks botão de marcação (checkbutton), Após criar uma interface, é necessá- uma imagem, uma lista ou mesmo rio programar a interação do usuário uma janela (figura 1). com a aplicação. Diferentemente da Figura 1 Elementos de uma janela.

Linux Magazine #39 | Fevereiro de 2008 75 © Linux New Media do Brasil Editora Ltda. PROGRAMAÇÃO | PHP-GTK, parte 3

nal clicked quando é clicado, pres- sed quando é pressionado e released quando é solto. Uma janela emite o sinal destroy quando é fechada, uma opção do menu emite o sinal activa- te quando é selecionada e uma lista emite o sinal row-activated quando o usuário clica duas vezes sobre um de seus itens. Como o programador descobre essas palavras mágicas? Na docu- mentação de cada widget. Se você acessar [1], verá a documentação de um botão, e lá constará uma relação dos seus sinais e sob quais circuns- tâncias eles são acionados. Sempre que um sinal é emitido pela GTK, cabe ao programador definir o que será feito, criando uma função para responder à emissão deste sinal. As funções que são criadas para reagir a sinais são chamadas de callbacks. Uma callback pode ser uma função ou um método de um objeto como veremos nos exemplos a seguir. Programação uma página HTML, na GTK exibem altura. Para obter os valores digita- os resultados na linha de comando na dos em um campo de digitação do estruturada qual o programa foi executado. A GTK tipo GtkEntry (entrada), utilizamos No exemplo 1, demonstramos a utili- possui classes para exibição de diálogos o método get_text(). zação de sinais e callbacks através de com o usuário que são mais apropriadas programação estruturada. Nele, cons- para exibir mensagens. Programação truímos uma janela que pede ao usuário Veja que no exemplo 1 criamos seu peso e altura, e quando este clica uma janela (figura 3) e alguns obje- orientada a objetos no botão calcula, o programa exibe o tos ($peso, $altura, $botao) e os adi- No exemplo 1, vimos como construir índice de massa corpórea no console. cionamos à janela por meio de uma uma janela utilizando a programação Note que os comandos echo e print, caixa vertical (GtkVBox). A parte mais estruturada. No próximo exemplo, que na Web exibem o resultado em importante desse exemplo é o mo- vamos escrever um programa muito mento em que conectamos o sinal parecido, mas dessa vez utilizando clicked do botão à função calcula_ a orientação a objetos. imc(). Com isso, ordenamos ao GTK A utilização da orientação a objetos que execute tal função sempre que o nos dá maior flexibilidade e modulari- botão for clicado. Como os objetos dade, permitindo reutilizar muito mais criados ($peso, $altura) não existem facilmente estruturas lógicas já existentes. dentro da função calcula_imc(), tive- O próprio GTK permite que criemos mos de utilizar variáveis globais para novas classes baseadas nas suas. tornar as variáveis visíveis em todo No exemplo 2, criamos uma jane- o programa. Esse recurso deve ser la para cálculo da média entre dois evitado ao máximo, e foi utilizado números. Veja que essa janela (figu- Figura 2 Contêineres são elementos especiais aqui somente por motivos didáticos. ra 4), chamada CalculaMedia, é filha que podem conter outros elementos O cálculo do índice é realizado di- de GtkWindow, uma classe nativa do em seu interior. vidindo-se o peso pelo quadrado da GTK que implementa uma janela.

76 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. PHP-GTK, parte 3 | PROGRAMAÇÃO

calcula, o método calcula_media() será executado e o resultado da média entre os dois valores será calculado e exibido no lugar do rótulo de texto $result. Nessa classe, optamos por definir todo o visual da janela no seu método construtor (construct). Nesse caso, não precisamos mais utilizar variáveis globais. No lugar delas, optamos por declarar os objetos que precisaríamos acessar, como Figura 4 Janela do programa que calcula a média entre dois Figura 3 Janela do programa que atributos dessa classe (private $valor1, números. exibe o índice de massa por exemplo). Dessa forma, eles são aces- corpórea. síveis ao longo de toda a classe. le do sistema, estamos jogando-o de Note que no programa do exem- volta à tela, por meio de um rótulo Assim, por meio da utilização de plo 2, a forma de conectar o sinal de texto localizado abaixo do botão herança, reaproveitamos toda a es- clicked do botão a uma função se calcula ($result). trutura já existente de uma janela e a alterou. No lugar de especificarmos especializamos, adicionando alguns somente o nome de uma função no comportamentos específicos. método connect_simple(), passamos Conclusão No exemplo 2, usamos dois objetos como parâmeto um vetor formado Neste artigo vimos como respon- ($valor1 e $valor2), além de um botão por duas posições: a primeira indica der às interações do usuário com para calcular o resultado ($botao) e um um objeto e a segunda o nome de a interface. No próximo artigo da rótulo de texto ($result) que será utili- um método a ser executado. série, iremos estudar como se dá zado para exibir o resultado do cálcu- Nesse programa, no lugar de exi- a integração com bancos de da- lo. Quando o usuário clicar no botão bir o resultado do cálculo no conso- dos utilizando o Sqlite, que é um banco de dados standalone e de fácil distribuição. ■

Mais informações

[1] Widget de botão: http://www.php-gtk. com.br/gtkbutton

[2] PHP-GTK Brasil: http://www.php-gtk.com.br

[3] Site do autor: http://www.pablo.blog.br

[4] Livro PHP-GTK: http://www.php-gtk. com.br/book

Sobre o autor

Pablo Dall’Oglio ([email protected]) é graduado em Análise de Sistemas, au- tor dos softwares Agata Report e Tulip e também de dois livros sobre PHP, além de manter a comunidade brasileira de PHP- GTK. É membro da equipe de documen- tação e criador da comunidade brasileira de PHP-GTK. Atualmente, é diretor de tec- nologia e proprietário da Adianti Solutions (www.adianti.com.br).

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

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

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

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

Linux Magazine #39 | Fevereiro de 2008 79 © Linux New Media do Brasil Editora Ltda. Calendário de eventos Índice de anunciantes Empresa Pág. Evento Data Local Website Bossa Conference 02, 84 Celepar 15 Campus Party Brasil 2008 11 a 17 de fevereiro São Paulo, SP www.campusparty.com.br F-Secure 07 Fisl 09 FOSDEM 2008 23 e 24 de fevereiro Bruxelas, Bélgica www.fosdem.org/2008 Guia de TI 83 IBM 11 Linux Audio Conference 28 de fevereiro a 2 de Colônia, Alemanha lac.linuxaudio.org Impacta 19

SERVIÇOS 2008 março Kenos 20 Linux Magazine 33 PyCon 13 a 20 de março Chicago, EUA us.pycon.org Linux Pro 81

II Encontro Software Livre Linux Solutions 17 2 a 4 de maio João Pessoa, PB ensol.org.br da Paraíba LPI 57 Plugin 13 Pocket Pro 51 Watch Guard 23

User Friendly – Os quadrinhos mensais da Linux Magazine

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

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

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

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

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

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

© Linux New Media do Brasil Editora Ltda.

LPI.indd 1 26.11.07 16:37:06 Na Linux Magazine #40

DESTAQUE Virtualização O clichê sugere que todo chefe está constantemente in-

PREVIEW satisfeito com a produtividade de seus empregados. O capitalismo selvagem exige constantemente o máximo. Quando um funcionário é mandado embora, é raro ver- mos o chefe simplesmente assumir a tarefa antes desem- penhada pelo empregado. Alguns de nós até costumam pensar: “se o chefe é tão bom assim, por que ele não assume o trabalho de todos os funcionários?”. Se alterarmos um pouco os personagens, transformando todos em máquinas, essa “sugestão” antes inviável torna-se simplesmente genial. Substituir múltiplas máquinas físicas por máquinas virtuais num único servidor físico não apenas economiza custos de hardware, como também reduz o con- sumo de energia – fundamental em qualquer datacenter – e facilita sobremaneira o gerenciamento e a manutenção dos vários servidores. Na Linux Magazine 40 vamos tratar de virtualização, abordando as principais técnicas e as tecnologias mais populares em Linux para essa tarefa. Após uma análise das técnicas de virtualização e os sistemas que as imple- mentam em Linux, exploraremos as opções comerciais mais usadas no sistema do pingüim, como VMware e Xen, e mostraremos as ferramentas mais populares para gerenciá-las, como o Virt-Manager, da Red Hat, e o Ga- neti, do Google. Para finalizar, analisaremos o Virtualbox do ponto de vista do administrador, abordando sua configuração de rede, as diferenças entre as versões proprietária e aberta e as facili- dades para serviço de desktops remotos que o produto da Innotek oferece. ■

PROGRAMAÇÃO PHP-GTK As facilidades do uso da poderosa linguagem PHP para a programação de interfaces gráficas continua sendo abordada pelo mestre Pablo Dall’Oglio. No quarto artigo da série, Pablo aborda a comunicação de PHP com bancos de dados, e mostra como usar o versátil Glade para montar formulários de entrada de dados e armazenar seu conteúdo nos diversos bancos de dados de Código Aberto. ■

82 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. A melhor conferência de que eu tive o prazer de participar. Zack Rusin, KDE/Mesa/Gallium3 D

Bossa Conference foi um evento impressionante. Para mim, foi a melhor conferência de Open Source em 2007. Não perca a de 2008. Marcel Holtmann, Bluez Maintainer

A melhor conferência de que eu já participei. Não perca a de 2008. Carsten ‘The Rasterman’ Haitzler, OpenMoko GUI/Enlightenment

Areia, sol e aparelhos móveis. Bossa foi a conferência perfeita para discutir o futuro do Linux em sistemas embarcados. John ‘J5’ Palmieri, Red Hat/OLPC/DBus

www.bossaconference.org

16 a 19 de Março Conferência Internacional sobre Summerville Resort SOFTWARE OPEN SOURCE Muro Alto - Pernambuco para Aparelhos Móveis de Plataformas Embarcadas Brasil

© Linux New Media do Brasil Editora Ltda. 02/2008 RICARDO BIMBO p.30 CASE DE SUCESSO ODF p.26 CEZAR TAURION p.32 Incentivos públicos Vencedores do concurso O Código Aberto conquista à produção de SL Padrão Aberto, Prêmio Certo os aplicativos

#39 02/08 Linux

8 R$ 13,90 € 7,50

Magazine r de 0 0 0 3 9

exempla 9 200 venda proibida 4

6 9 #

3 39 Fevereiro 200 9 Assinante 7180 #

A REVISTA DO PROFISSIONAL DE TI 9 7 ERP & CRM & ERP

OPENBRAVO

OPENCRX

p.34

ERP & CRM

ADEMPIERE TODA EMPRESA JÁ PODE TER SISTEMAS ERP E CRM. GARANTA UMA BOA GESTÃO COM OS MELHORES SISTEMAS PARA LINUX.

PL ONE » O mercado PME tem vez com o Openbravo p.36

» Obtenha as vantagens do CRM com o openCRX p.42 ESTEGANOGRAFIA » ADempiere, poderoso como o Código Aberto p.48

PHP-GTK REDES: PLONE 3.0 p.70 Recursos e novidades da versão mais recente de

um dos CMS mais populares da atualidade.

LPIC-2 SEGURANÇA: CRIPTOGRAFIA É POUCO p.67 E se ninguém soubesse que a informação sequer foi transmitida?

Mensagens ocultas em imagens garantem o sigilo. OPENSSI

VEJA TAMBÉM NESTA EDIÇÃO: » PHP-GTK, aula 3: Sinais na interface gráfi ca p.75 » Cluster prático e rápido com o OpenSSI p.63 » Oitava aula preparatória para o LPIC-2 p.53 » Augusto Campos: Linux no desktop econômico p.08

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