Posts com Tag ‘Desenvolvimento WEB’

FISL10: Expresso 2.0

Sábado, 27 Junho 2009

Depois da palestra que assisti no dia 25/06 da DATAPREV, fiquei muito curioso para conhecer melhor a ferramenta de e-mail Expresso, por isso não perdi a oportunidade.

Dessa vez, a palestra começou com atraso e com muita gente impaciente na porta de entrada da sala, devido a palestra anterior ter ultrapassado o limite de tempo. Auditório lotado, Walter Zapalowski apresentou a ferramenta ao público.

Na apresentação deu para perceber que o Expresso 2.0 é muito mais que um webmail, sendo uma ferramenta muito robusta para comunicação e está expandindo para outras áreas como colaboração. A ferramenta chega a conseguir se interligar com o Asterisk para fazer ligações VOIP com apenas um click.

Algo legal que o Zapalowski demonstrou é que os desenvolvedores (que não é apenas a SERPRO e a DATAPREV) estão muito preocupados em deixar a ferramenta extremamente configurável, para facilitar a adoção por outras empresas, seguindo o verdadeiro espírito de Software Livre.

Aparentemente existe uma colaboração muito grande com troca de código com a comunidade, o que é muito louvável.

Existe uma gama enorme de recursos, como possibilidade de usar Cerficação Digital de nível A1 (com a chave gravada em disco) e até A3 (com tokens), algo que não se tem notícia que outra ferramenta de webmail livre disponha.

Outros recursos que chamaram a atenção é a possibilidade de poder se trabalhar off-line no módulo de e-mail, sendo que está sendo implementando esse recurso para o módulo de agenda.

Além de poder trabalhar off-line, é possível sincronizar o Expresso com versões mais leves que rodam em celulares e outros dispositivos similares.

O Expresso nasceu na CELEPAR (Paraná) e desde 2005 é a ferramenta de comunicação eletrônica do governo de lá, sendo desenvolvido em PHP e AJAX, mas com uma gama muito grande de tecnologias livres agregadas como o GoogleGears, entre outras.

Durante a palestra eu fiquei com a impressão que o desenvolvimento do Expresso foi uma espécie de “resposta” ao fechamento do código do DIRETO da PROCERGS. Aliás, Marcos Mazoni, antigo diretor da PROCERGS (me lembro dele no primeiro FISL) abriu a apresentação da palestra (em tempo: agora ele é diretor da SERPRO)…

FISL10: CASE MySQL na Globo.com

Sexta-Feira, 26 Junho 2009

Inicialmente foi dado um aparado geral sobre a nova versão do MySQL Server 5.4, ainda em versão beta, por Henrique Leandro. Não vou me prender muito a isso, mas algumas novidades são a provável mudança na forma de designar a versão do produto (a próxima seria o MySQL 2010). Entre as novidades estão a possibilidade de usar computadores x86 com até 16 núcleos, otimização de subconsultas, melhorias no backup on-line, entre outros.

Após essa parte introdutória, Camila Dias da Globo.com, deu um aparado geral da evolução do uso do MySQL dentro da organização, bem como mudanças de paradigmas.

Algumas curiosidades:

- A Globo.com usa Software Livre (principalmente LAMP) desde 2002 em sistemas internos;

- Em 2007 houve um revolução dentro da empresa, onde foram adotados novos rumos: agilidade no desenvolvimento, com o uso de SCRUM, liberdade criativa, incremento significativo em participação em eventos nacionais e internacionais (inclusive o FISL);

- Graças a participação em vários eventos de tecnologia, houve uma mudança de mentalidade dentro da empresa, em relação ao uso do MySQL, pois tiveram contatos com outras grandes empresas com CASES de sucesso;

- De 2007 para 2009, o MySQL cresceu em cerca de 60% de uso dentro da Globo.com, ultrapassando outras soluções de SGDBs.

A Camila citou 2 casos de sucessos, onde foram empregados soluções em Software Livre, com destaque para o uso do MySQL:

Globo Amazônia

É uma solução mashup, composta de um portal com conteúdo relacionado + dados INPE + Orkut + Google Maps + Twitter

Lançado em setembro de 2008, em 1 mês superou as espectativas que se tinha de alcançar resultados em um prazo maior. Ela deve isso a junção da mídia convencional da TV, com a interatividade da Internet. Exemplo, se a média de acessos eram 1000 simultâneos, cada vez que o “Pedro Bial” dizia “votem no endereço tal”, pulava em poucos segundos para 20mil acessos.

Essa solução, apesar do alto volume de acessos, usa APENAS 2 servidores MySQL com replicação master-master, com uso agressivo de web cache para o conteúdo estático e eles implementaram um sistema de fila para a gravação dos dados no banco.

Projeto WordPress

Mais de 1000 blogs editoriais utilizando WordPress e uma série de plugins de cache e uso de MySQL “slave” para consultas. Essa solução também usa 2 servidores com replicação master-master, mas tem mais uma série de servidores slaves que são usados nas consultas, ou seja, os servidores masters são usados apenas para insert e update;

Eles tem um farm exclusivo para o Big Brother Brasil, dada a quantidade de acessos e comentários em um único post.

Algumas lições que eles tiveram durante o desenvolvimento com o uso do MySQL (observação: são deles, algumas coisas se contradizem a palestra de ontem sobre segurança de aplicativos com MySQL):

- Comece o projeto de maneira simples;

- Use uma versão realmente estável e bem testada do MySQL, a menos que realmente precise de algo novo que não tenha sido implementada na versão estável (eles usam a versão 5.0.7 nesses projetos citados);

- Use uma distribuição Linux compilada para 64bits. Isso é muito importante. Eles tiveram perda de desempenho significativa, quando as chaves de índices começaram a ficar muito grande em 32bits (agora eles só usam 64bits no sistema operacional e no banco de dados). Por curiosidade, nesses 2 projetos eles estão usando CentOS 5.2;

- Use InnoDB como engine padrão do MySQL, a menos que você realmente precise de algum recurso que só tenha em outro engine;

- Use transações curtas com o banco de dados;

- Use comandos simples. Evite de usar, por exemplo, consultas complexas. Eles tiveram uma experiência desagradável com uma consulta complexa com insert em ambiente de produção, na replicação dos dados;

- Use índices em memória;

- Coloque as regras de negócio na aplicação (!);

- Abuse do cache em memória.

Para o futuro do desenvolvimento na Globo.com, já foi definido:

- Que o MySQL será a plataforma oficial de SGDB;

- Novos sites já são produzidos com MySQL;

- Vão buscar uma evolução da arquitetura.

Para finalizar gostaria de dizer que não concordo com tudo que foi apresentado na palestra mais vale com um CASE e conhecer melhor como o software livre vem sendo implementado em empresas privadas (já citei exemplos de casos em empresas públicas).

Qualquer hora destas eu creio que vou também apresentar um CASE e apontar as minhas considerações sobre o uso do MySQL e PostgreSQL em soluções de sistemas web.   :-)

Para quem se interessar, eles estão com vagas na empresa para novos talentos. Quem quiser é só procurar a Camila no estande da Globo.com amanhã, dia 27/06.

FISL: Primeiras palestras do último dia

Sábado, 19 Abril 2008

As duas primeiras palestras do dia 19/04 foram sobre vulnerabilidades de aplicações na web.

A primeira foi apresentada pelo grupo OWASP-BR, uma entidade que se preocupa em melhorar a segurança de aplicativos web. Em seguida, assisti uma palestra de Er Galvão Abbott sobre métodos para evitar cross-site-scripting.

O grupo OWASP-BR apresentou as 10 vulnerabilidades mais críticas encontradas em aplicações WEB, sendo que as mais críticas, em ordem, são:

  • Cross Site Scripting (XSS), que consiste em rodar código script malicioso no navegador web do cliente;
  • SQL Injection, que em geral se inicia forçando um erro na página, para que o cracker consiga determinar mais informações sobre o SGDB. Depois o cracker injeta código SQL, a fim de ter acesso não autorizado de informações;
  • Execução maliciosa de arquivos, que ocorre em sistema que aceitam arquivos de usuários remotos. Em geral, o cracker com acesso ao sistema envia uma página ou arquivo preparado, que depois é executado dentro do sistema web, podendo causar sérios danos ao sistema;
  • Referência insegura direta a objetos, onde o desenvolvedor expõe de forma direta informações internas que não deveriam aparecer, como por exemplo, diretórios, nome de arquivos, ID de usuários, etc, por meio de URL ou parâmetros de formulário.

Estas vunerabilidades correspondem a cerca de 70%. Este documento informa as outras vunerabilidades e dá mais detalhes sobre o assunto.

Sobre a palestra do Er. Galvão Abbott, uma curiosidade é que ele havia recebido um link de uma grande empresa com ataque XSS no e-mail. Ele, que é um usuário experiente, quase foi enganado pelo ataque, dada a sofisticação do mesmo. No slide, ele mostra o código mas protege e não divulga qual seria esta empresa. Perguntei para o “santo Google” e ele me respondeu: Lojas Ame…!!! Cheat!!!

Pior, a vunerabilidade não foi resolvida até agora! Isso é muito triste. Pelo que eu percebo, não dá mais para confiar nem quando o site tem SSL, está com o link correto, etc. Eu creio que ninguém está livre de falhas, mas não resolve-las é extremamente grave.

Fica uma das mensagem dele na palestra: Não se deve dar crédito excessivo à uma aplicação, e relaxar em cuidados com segurança, porque ela foi desenvolvida em linguagem x, foi desenvolvida pela empresa y, pertence a empresa z, ou está utilizando o sistema operacional xyz… E sempre procurar aplicar segurança concentrando no que deve ser permitido e não no que deve ser proibido, pois por melhor que seja o desenvolvedor, jamais ele irá prever todas as possibilidades de falha de segurança.

Ah, fazia algum tempo que eu não comprava mais nas Lojas Ame…, creio que vou continuar não comprando, hehehehe (ainda bem que recebi o brinde que o Terra me prometeu, quando eles mandaram um e-mail em massa solicitando atualização de dados, porque senão eu estaria seriamente preocupado agora, hehehe – bom, um cracker não mandaria um brinde real, né? vixe…)


Seguindo conselhos resolvi remover o nome da empresa, mas não fica difícil adivinhar quem é.