segunda-feira, 31 de março de 2008

Tagged under:

Java é a mais popular

Desde 2002, a empresa TIOBE publica mensalmente, em seu site, um ranking das linguagens mais populares entre os programadores de todo o mundo. O índice TIOBE é obtido, basicamente, das ferramentas de busca, seguindo a metodologia definida e publicada no próprio site, e, após os filtros especificados, dá uma indicação de qual linguagem é mais popular no momento.

Vale ressaltar que o ranking não mostra que linguagem é melhor ou mais usada, apenas qual é a mais popular. O índice TIOBE pode ser usado para checar se suas habilidades de programação estão atualizadas, ou para tomar uma decisão estratégica sobre qual linguagem usar para iniciar um projeto de desenvolvimento de software.

Segundo o ranking, a linguagem Java está em primeiro lugar, com 20,651% de pontuação, e a linguagem C em segundo lugar, com 15,593%. Visual Basic, PHP e C++ vêm em seguida, com 10,795%, 10,138% e 9,776%, respectivamente. Essas cinco linguagens do topo do ranking respondem por 66,953% da pontuação geral, o que reflete que a maior popularidade são dessas linguagens.


Para conhecer mais sobre o ranking, e ver as posições de outras linguagens, visite o link http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.

quarta-feira, 26 de março de 2008

Tagged under: ,

Lambda Probe

Muita gente usa o Apache Tomcat como servidor de suas aplicações web em Java, seja diretamente, ou indiretamente dentro de um servidor de aplicações. Hoje, colocar a aplicação no ar é bem fácil mas o monitoramento da aplicação requer conhecimentos técnicos avançados e o mercado não dispõe de ferramentas eficazes para automatizar essa tarefa. Não dispunha... Vamos conhecer agora o Lambda Probe.

O Lambda Probe, ou simplesmente Probe, é uma ferramenta de monitoramento em tempo real do servidor Apache Tomcat. Ele ajuda você a visualizar diversas informações sobre a instância do serviço em uma interface intuitiva e amigável. Na verdade, é uma aplicação web que é implantada (deploy) no servidor. Essa aplicação foi desenvolvida para funcionar especificamente no Apache Tomcat e usa agentes JMX para obter informações sobre o ambiente de execução do serviço. Outros servidores de aplicações que possuem o Tomcat embutido poderão fazer uso dessa ferramenta, como, por exemplo, o JBoss.

Para instalar o Probe, primeiro baixamos o pacote WAR no site do fornecedor. Até o dia deste post, a versão mais atual era a 1.7b (aproximadamente 7 MB). Implante (deploy) esse pacote no seu servidor e acesse a URL através no navegador de Internet - normalmente será http://IpDoServidor:8080/probe/ . Ao acessar a aplicação, será pedido um login e senha de acesso. Use o usuário já configurado no seu Tomcat que possui o papel 'manager' associado. O Probe ainda pode utilizar outros papéis para divisão de tarefas, consulte a documentação da ferramenta.

A primeira tela que é apresentada a você será a que mostra as aplicações que estão implantadas no servidor. Nela, você pode ver o status das aplicações, a quantidade de sessões ativas, a quantidade de atributos na sessão e no contexto, o uso do pool de conexões, e pode iniciar ou parar uma aplicação em apenas um clique.

Clicando sobre o nome de uma aplicação, o Probe levará você a uma tela em que apresentará detalhes sobre aquela aplicação. É possível ver, com mais detalhes, as sessões ativas naquela aplicação (incluindo o IP, o tempo de uso e os objetos colocados lá), os JSPs (ver o código-fonte e compilá-los novamente com um clique na tela), os recursos consumidos pela aplicação, os descritores de contexto e implantação, as servlets desenvolvidas, estimar o tamanho que uma sessão pode consumir por usuário, etc.

Existe uma tela em que é possível obter informações sobre o ambiente no qual o Tomcat está executando, como quantidade de memória RAM disponível, quantidade de memória RAM consumida pela JVM, utilização da CPU pela JVM, etc. É possível também forçar o garbage collector para executar instantaneamente, de acordo com a vontade do administrador do serviço.

Muitas outras informações podem ser conseguidas com o uso dessa ferramenta. São informações úteis para monitorar a sua instância do Tomcat e poder acompanhar se alguma aplicação está degradando a performance geral do servidor, além de instruir qual decisão tomar para melhorar o serviço. Na empresa em que trabalho, usamos essa ferramenta e os resultados obtidos são ótimos.
Tagged under:

Triste fim de um JUG

Não se assuste! Não é o fim do JavaBahia. Só quero registrar algo que aconteceu nesta semana...

Há algum tempo participo de uma lista mundial de líderes de grupos de usuários Java. No site https://jugs.dev.java.net tem mais informações sobre os mais de 400 JUGs registrados.

Bem, o líder de um grupo de usuários Java de Israel mandou um e-mail para a lista, se despedindo e anunciando o fim das atividades do jug. Além disso solicitou exclusão do seu e-mail da lista e remoção de qualquer referência ao jug nos sites da Sun ou de quaisquer outros jugs.

A mensagem poderia passar despercebida, se não fosse iniciado aí um grande espírito de comunidade. Vários outros jugleaders dos mais diferentes países (Rússia, Polônia, Itália, Brasil, França, dentre outros) se manifestaram enviando palavras de incentivo, oferecendo ajuda, contra-argumentando, contando suas próprias histórias e sugerindo reavaliação da decisão. Muito educado, o líder do já finalizado grupo agradeceu a todos, mas reafirmou sua decisão e foi excluído da lista, como havia pedido. Observem: ele não estava deixando a liderança do jug. Estava acabando com o grupo.

Ainda assim, o papo continuou, e alguém lançou o questionamento: Quem é o "dono" do jug? Pode alguém simplesmente resolver fechar as portas (ou melhor, destruir a casa)? A maioria defendeu, e concordo, que a razão principal do grupo é sua comunidade. Embora normalmente a liderança fique restrita a alguns poucos (não por falta de espaço para outros, mas simplesmente é assim que as coisas são - não só no Brasil), os membros do grupo de usuários são seu maior patrimônio.

Concluindo, líderes e liderados devem estar preparados para a chegada de novas pessoas, com novas idéias e estilos. A mudança é salutar e, muitas vezes, necessária. Assim foi em meados de 2005, quando o principal líder do JavaBahia (fundado em 2002) havia se mudado de Salvador e portanto estava com dificuldades de tocar o grupo mais ativamente. Em consequencia de uma série de fatos, em 2005 apareceram mais dois "doidos" (é assim que muitos jugleaders se enxergam!) que resolveram assumir essa responsabilidade. Tudo feito com ética e a devida "aprovação" dos fundadores do JavaBahia, que continuam colaborando.

Assim novos jugs surgirão (dá uma olhada nesse mapa de grupos pelo mundo), outros deixarão de existir (de fato é triste, mas acontece), mas com certeza o saldo será positivo e cada vez teremos jugs maiores e melhores. Mas bem que gostaríamos de mais jugmembers ativos, não apenas no mundo virtual.

terça-feira, 18 de março de 2008

Tagged under: , , , , ,

Atabaque

Nesse primeiro post técnico, resolvi falar sobre os dois projetos open-source em Java que estou envolvido: Atabaque e DTDtoBean.

Atabaque (atabaque.sourceforge.net) tem foco principal na documentação de processos na forma de sítios web, separando o conteúdo (documentos XML) da sua forma de apresentação (HTML). A ferramenta foi apresentada no ConSerpro 2006, congresso interno do Serpro onde são selecionados os 14 melhores trabalhos técnicos submetidos. O produto já está em uso com bons resultados no Serpro, para documentação do seu processo de desenvolvimento (PSDS) que é inspirado no RUP. No projeto, foram utilizados alguns componentes livres bem interessantes, como JOX - Java Objects in XML, DTDParser, Radeox - Wiki Render Engine, Xalan-java - XSLT Processor, BSF - Bean Scripting Framework e Rhino - JavaScript for Java.

DTDtoBean (dtdtobean.sourceforge.net) nasceu por necessidade de Atabaque. É um plugin NetBeans (mas também pode ser usado como aplicação standalone) que gera JavaBeans a partir de arquivos DTD. Pode ser útil para evitar escrever código "na unha" quando se trabalha com arquivos XML e utiliza algum Serializer (como JOX, Simple ou XStream) para transformar objetos para XML vice-versa. Aliás, Serialização XML foi tema do meu segundo artigo para a JavaMagazine, na edição 52. O plugin também está registrado no NetBeans Plugin Portal. Um rápido tutorial de uso pode ser encontrado nesse blog.

Mais do comentar sobre esses dois projetos, gostaria de deixar registrada a boa experiência que é compartilhar conhecimento. Mesmo sem poder dedicar muito tempo a eles, ambos já estão chegando à casa dos 1.000 downloads, o que supera minhas expectativas!

Em geral, estamos muito (mal) acostumados a consumir produtos de código aberto, porém contribuímos muito pouco. Muitas vezes nem paramos para pensar que a forma de resolver nossos problemas pode ajudar os outros. O colega do lado, na nossa própria empresa, pode estar tendo a mesma dificuldade. E você nem sabe disso! E nem ele sabe que você tem a resposta...

Bom, como trabalhar colaborativamente dentro das empresas é tema de discussão do blog bazedral.blogspot.com, que convido-o a conhecer. Finalizo com um trecho do clássico A Catedral e o Bazar, de Eric Raymond: “Está escrito: os melhores programas começam como soluções pessoais para os problemas diários do autor, e se espalham porque o problema se torna típico para uma grande classe de usuários.”

Bons códigos!

sexta-feira, 7 de março de 2008

Tagged under:

Novo Blog do JavaBahia

Com esse post inauguramos o blog do JavaBahia, mais um canal de discussão sobre a tecnologia Java no estado. Aqui divulgaremos notícias e eventos de interesse. Sejam bem-vindos!