Tutorial Tomcat atualizado

Publiquei hoje a revisão 29 do Tutorial Tomcat – Instalação e Configuração Básica, artigo mais popular do meu site.

Esta atualização corrige informações sobre a forma de tratamento de log no Tomcat, que foi alterada no Tomcat 5.5 e em diante.

Agradeço ao Samuel Valerio, de Natal, RN, que me alertou para essa mudança.

Até o Tomcat 4.1, existia o elemento Logger aninhado ao Context, no arquivo XML de configuração do contexto, que permitia incluir configurações de geração de registro (logging) específicas para o contexto.

O Tomcat 5.5 teve o tratamento de logging reestruturado e usa o Commons Logging em seu código interno. Uma conseqüência importante é que o elemento Logger deixou de existir.

As configurações específicas de geração de log agora devem ser configuradas diretamente no arquivo de configuração do mecanismo de logging em uso:

  • Java Logging/Juli (TOMCAT_HOME\conf\logging.properties);
  • ou Log4j (TOMCAT_HOME\lib\log4j.properties).

Ainda não incluí no tutorial novas instruções sobre como separar as mensagens de log específicas do seu contexto de desenvolvimento, como era feito antes com o elemento Logger. Se alguém já tiver sugestões ou orientações prontas, ou souber indicar uma referência a respeito, agradeço se puder me enviar.

Lançados NetBeans 6.1 e Ubuntu 8.04 LTS

Dois lançamentos importantes nos últimos dias.

Ontem foi lançado o NetBeans IDE 6.1 final, com várias novidades e melhorias atrativas, conforme eu havia adiantado em 7 e 27 de março.

O release oficial do NetBeans IDE 6.1 traz recursos para edição de JavaScript (coloração e validação semânticos, code completion, quick fixes e refactoring), biblioteca Spring Framework 2.5 embutida e suporte ao Spring web framework, maior integração com MySQL, melhoria no compartilhamento de bibliotecas entre projetos dependentes, suporte a Ruby/JRuby melhorado — incluindo novos quick fixes, um gerenciador de plataforma Ruby, debug rápido para JRuby. Por demanda popular, os recursos de geração do padrão bean e de CRUD JSF que ficaram de fora na versão 6.0 retornaram.

Além disso, versões preliminares (early versions) de novos módulos estão disponíveis, como o como JavaScript debugger e plugin para suporte a ClearCase. E na página de download há uma nova opção de pacote/bundle voltada para PHP: Early Access for PHP.

A versão 6.1 traz suporte a APIs web populares de SaaS (Software as a Service) com a inclusão dos serviços providos por Google, Facebook, Yahoo, YouTube na aba de Serviços, permitindo usá-los facilmente em aplicações mashup com simples arrastar-e-soltar para qualquer POJO, Servlet, JSP ou RESTful web service. O suporte a RESTful Web Services (especificação JSR 311 JAX-RS usando a implementação Jersey), disponível desde o NetBeans 6.0 como plugin, foi incluído na distribuição padrão do 6.1. E há novos plugins para suporte a Axis2 e SOAP UI.

Destacam-se também melhorias em desempenho, especialmente o início até 40% mais rápido, menor consumo de memória e mais agilidade nas respostas ao trabalhar com projetos extensos.

Baixar o NetBeans IDE 6.1 final (mirror em dlc.sun.com.edgesuite.net). Os pacotes localizados para português do Brasil, existentes na versão 6.0.1, ainda não estão disponíveis para o 6.1, mas devem estar em breve.


Dia 21 houve o lançamento da distribuição Linux Ubuntu 8.04 LTS, codinome Hardy Heron, nas edições Desktop e Servidor.

O Ubuntu é provavelmente a distribuição Linux atual mais amigável, estável e bem suportada para usuários pessoais. Oferece fácil instalação, compatibilidade com ampla variedade de dispositivos em desktops e notebooks.

Há também enorme quantidade de pacotes adicionais (no formato apt do GNU/Debian) disponíveis e freqüentemente atualizados, instaláveis pelo gerenciador de pacotes gráfico Synaptic (ou outro de sua preferência), com repositórios oficiais livres e restritos pré-configurados do Ubuntu.

O interessante da nova versão 8.04 é ser Long Term Support (LTS), o que significa garantia de suporte oficial ao ciclo de vida da Edição Desktop até 2011 e da Edição Servidor até 2013. A versão LTS anterior foi a 6.06, em junho de 2006.

Para aqueles que querem sempre as mais novas aplicações e tecnologias, poderão fazer ainda este ano a atualização para o Ubuntu 8.10, previsto para outubro. Quem prefere a estabilidade no ciclo de distribuição de software (tipicamente o ambiente corporativo de larga escala), pode ficar tranqüilo com o Ubuntu 8.04 por três (desktop) ou cinco (servidor) anos até migrar para a próxima versão LTS.

E sobre o que a versão 8.04 traz de novo? Para essa resposta, eu indico o artigo do português Bruno Carlos, muito bem escrito e ilustrado: Todas as novidades da versão oficial do Ubuntu 8.04 LTS.

Personalidades por trás da tecnologia (3)

No terceiro artigo da série, vou citar algumas personalidades e seus artigos que introduziram termos e conceitos famosos em tecnologia recente.

Anteriores: Personalidades por trás da tecnologia (1), Personalidades por trás da tecnologia (2).

Novidades IDEs Java não param

Tem muita coisa acontecendo no mundo Java. As novidades não param.

Na corrida dos melhores IDEs Java gratuitos, desde o meu artigo de Atualizações em IDEs Java gratuitos do dia 3, novidades nas comunidades Eclipse e NetBeans têm surgido em blogs e portais. Alguns links adicionais eu postei em um comentário do dia 19 naquele artigo: projeto EclipseLink escolhido pela Sun para JPA 2.0 RI (JSR 317); Equinox OSGi Runtime e o novo projeto top-level Eclipse RT (veja também o Equinox community portal); o anúncio do SpringSource Tools, cujo lançamento coincidiu com a entrada da SpringSource na Fundação Eclipse; e outras novas.

O suporte a Spring nas IDEs cresce tão rápido quanto os projetos em torno do próprio Framework, como a evolução do Spring MVC para Spring Web Flow, a incorporação do Acegi como Spring Security etc.

Surgiram artigos sobre o novo suporte a Spring no NetBeans 6.1: Extending the NetBeans IDE Spring Support, por Geertjan Wielenga em NetBeans DZone, 2008-03-24, parte 2 do artigo Hello Spring no blog de Geertjan, 2008-03-23.

Por falar em Spring, veja também os artigos Anotando beans no Spring 2.5, por Marcos Sousa, 2008-03-27; e Getting SessionFactory From EntityManagerFactory in Spring App context, por Rick Hightower, autor de vários livros sobre frameworks e ferramentas para Java, 2008-03-27.

Oportuno com o suporte melhorado a Ruby/JRuby no NetBeans 6.1, foi lançado também o novo Ruby Developer Center no portal Sun Developer Network (SDN), comentado em posts de Arun Gupta e Janice J. Heiss.

A discussão de IDEs contou recentemente com o Java IDE Day 2008 do JUG Genova, Itália, com apresentações sobre NetBeans 6.1, por Roman Strobl, JDeveloper 11g TP3, por Paolo Ramasso – Oracle, e IntelliJ IDEA, por Vaclav Pech.

Veja também os artigos New Options for Project Sharing no NetBeans, por James Branam, gerente do NetBeans Community Docs, 2008-03-27; e nb-6.1 Beta – Drag ‘n’ Drop Improvised – Part 5, em prOgramming bOnds, 2008-03-27.

A novidade mais eclética é que a Microsoft tem planos de colaborar com projetos da Fundação Eclipse, visando o suporte ao desenvolvimento de aplicações em Java integradas ao Windows Vista. Isto inclui o suporte ao Microsoft CardSpaces (Vista ID) no projeto Eclipse Higgins, e a colaboração com o time Eclipse Standard Widget Toolkit (SWT) para suporte a Windows Presentation Foundation (WPF) e aplicações Java com o look-and-feel do Vista. Se isso soa Primeiro de Abril antecipado :-), confirme a veracidade em diversos artigos: Eclipse na Microsoft, por Rodrigo Amorim, BR-Linux.org, 2008-03-23; Microsoft working with Eclipse – EclipseCon 2008, por Michael Coté, 2008-03-19; Microsoft working with Eclipse on Vista, ID links, por Paul Krill, InfoWorld, 2008-03-19; Microsoft wants to improve Eclipse, por Rick Hightower, 2008-02-21; Microsoft, Eclipse finally playing nice. What’s it mean for developers?, por Heather Havenstein, ComputerWorld, 2008-03-18; Microsoft’s Ramji Extends Olive Branch To Eclipse Users, por Charles Babcock, InformationWeek, 2008-03-19.

Personalidades por trás da tecnologia (2)

A série “Personalidades por trás da tecnologia” chega a sua segunda edição. Aqui vai:

Créditos: Agradeço as sugestões de Rafael Benevides e Marco Aurélio Mendes. Contribuições dos leitores são muito bem-vindas!

Personalidades por trás da tecnologia

A era dos blogs trouxe certa democratização à comunicação. Um aspecto interessante disso é que para diversas tecnologias, produtos, projetos de software livre, especificações etc. é possível sorver direto da fonte a visão, as opiniões e as idéias de seus criadores, idealizadores, líderes, mentores e envagelistas, no blog pessoal da personalidade em questão.

A partir desse artigo, inicio a série “Personalidades por trás da tecnologia” enumerando tecnologias diversas e as respectivas personalidades por trás delas.

E você, caro(a) leitor(a), conhece o blog ou home-page de alguma personalidade por trás de uma tecnologia? Participe e dê sua contribuição…

Atualizações em IDEs Java gratuitos

Os três principais IDEs Java gratuitos que acompanho foram recentemente atualizados: os softwares livres NetBeans e Eclipse IDE, e o gratuito Oracle JDeveloper.

Em 7 de fevereiro saiu o NetBeans IDE 6.0.1, atualização da versão 6.0 que traz, além de diversas correções de bugs, a adição das localizações (traduções) oficiais finalizadas para Japonês, Chinês Simplificado e… Português do Brasil; o servidor de aplicação Java EE Glassfish incluso também foi atualizado do V2 para V2 Update Release 1 (UR1).

No dia 20 de fevereiro foi lançado o NetBeans 6.0.1 Patch1, incluindo correções em diversos módulos adicionais. Para quem instalou o pacote de distribuição do NetBeans 6.0.1, as atualizações do Patch1 podem ser baixadas pelo próprio Gerenciador de Plugins do IDE.

E para os early adopeters, desde 6 de março está disponível também o primeiro Beta do NetBeans IDE 6.1, próxima versão do ambiente de desenvolvimento livre Java (e C, e Ruby) patrocinado pela Sun. São destaques da nova versão duas demandas populares — suporte a Java Beans e gerador de CRUD JSF — e também suporte à edição de JavaScript (com auxílio semântico) e a Spring Framework, melhorias no desempenho (inicialização até 40% mais rápida) e no suporte a Ruby/JRuby, code completion para Javadoc, Compartilhamento de Projetos. Mais informações sobre as novidades planejadas para a versão 6.1 também estão detalhadas no wiki NB61 Milestones New and Noteworthy.

Em 22 de fevereiro saiu o Eclipse Europa 3.3.2, Winter Maintenance. Apenas uma atualização de ajuste, com diversas correções de bugs.

Oracle JDeveloper, a caminho da versão 11g final, teve a terceira versão preliminar lançada em 22 de dezembro de 2007, Oracle JDeveloper 11g Technology Preview 3. O IDE é parte da família de ferramentas de desenvolvimento Oracle Fusion Middleware 11g Developer, que inclui JDeveloper, SOA Suite e WebCenter.

Visual VM

Desde o JDK 1.4.2 até o Java SE 6, têm evoluído cada vez mais os recursos e as ferramentas para gerenciamento e instrumentação de máquinas virtuais Java (JVMs) e de aplicações executando nelas, local ou remotamente.

Estes potencialidades, em maior parte, são possíveis graças à tecnologia Java Management Extensions (JMX), que se tornou parte padrão da plataforma Java SE no J2SE 5.0. Através de JXM, pode-se construir mecanismos padronizados para desde coletar informações e estatísticas até atuar dinamicamente em parâmetros e recursos de componentes Java. A própria máquina virtual Java HotSpot da Sun usa extensivamente JMX para oferecer amplos recursos de instrumentação para os mais diversos aspectos da JVM, como alocação de memória, uso de CPU, threads e opções de execução. Servidores de aplicação Java livres (Tomcat, JBoss, Glassfish…) e comerciais também utilizam JMX para oferecer recursos de monitoramento e gerenciamento em tempo real.

VisualVM - tela com telemetria básica de uma aplicação Java A iniciativa mais recente é a ferramenta gráfica VisualVM, projeto de software livre (licença GPLv2+CE) sendo desenvolvido no portal java.net. A VisualVM visa integrar diversas ferramentas de gerenciamento de software existentes no JDK e recursos para profiling de memória e CPU, mas creio que principalmente o JConsole.

VisualVM ainda está no Milestone 3 (lançado em 19 de fevereiro), mas já mostra bem suas possibilidades de aplicação no monitoramento, instrumentação e profiling.

Para saber mais, artigos e guias das ferramentas de gerenciamento Java (em inglês):

Relatórios, gráficos e boletos em Java (2)

Eis uma ampla expansão do artigo Relatórios, gráficos e boletos em Java (2007-11-18), incluindo atualizações de Notas tech da semana (2007-12-01), anúncios de JFreeChart 1.0.9 (2008-01-07) e OpenReports 3.0 (2008-01-06) e várias outras referências.

As ferramentas livres para criação de relatórios estão, aos poucos, ampliando sua abrangência e recursos para a área de inteligência de negócios (business intelligence – BI), integrando recursos como relatórios dinâmicos, ferramentas OLAP (processamento analítico on-line) e ETL (extração, transformação e carga de dados), a partir de armazéns de dados (data warehouse – DW) e outras fontes de informação.

Relatórios & BI

  • OpenReports, solução open source para geração de relatórios, visa ser poderosa, flexível e fácil de usar. Provê geração dinâmica parametrizada baseada em navegador, com recursos de agendamento. Suporta vários mecanismos de relatório open source — JasperReports, JFreeReport, JXLS, Eclipse BIRT –, consultas baseadas em SQL direto com QueryReports e ChartReports, e suporte a OLAP via Mondrian e JPivot.
  • JasperForge, por Jaspersoft, projetos de software livre para inteligência de negócios: Jaspersoft BI Suite; biblioteca de geração de relatórios JasperReports + editor de relatórios iReport, com saída em formato PDF e outros; JasperServer / JasperAnalysis; e JasperETL.
  • DynamicJasper é uma biblioteca open source que cria relatórios Jasper Reports dinamicamente via código, sem a necessidade de se criar arquivos .jasper, simplificando a criação de relatórios de baixa/média complexidade.
  • Pentaho Open Source BI Suite, plataforma e coleção de projetos open source para inteligência de negócios. Inclui Relatórios (incorporou o antigo JFreeReports), Análise (Mondrian OLAP Server), Dashboards, Integração de Dados (Kettle ETL), Mineração de Dados (Weka).
  • Eclipse BIRT (Business Intelligence and Reporting Tools), sistema de produção de relatórios para aplicações web em Java, incluindo um editor de relatório baseado no Eclipse e um componente runtime para o servidor.
  • JPivot, biblioteca de custom tags JSP que renderiza uma tabela OLAP e provê para o usuário navegações OLAP típicas como slice-dice, drill-down e roll-up. JPivot usa Mondrian como servidor e também suporta fontes da dados XMLA.
  • DataVision, ferramenta open source de relatórios no estilo de Crystal Reports, com saída em HTML, XML, PDF, Excel, LaTeX2e, DocBook, arquivo texto delimitado por tab ou vírgula.

Para saber mais:

Gráficos

  • JFreeChart, biblioteca para geração gráficos (barras, pizza, linha etc.), pode ser utilizada com JasperReports, OpenReports e outros.
  • Apache Batik, toolkit para Scalable Vector Graphics (SVG) em Java, inclui SVG Parser, Generator e DOM. Parte do Apache XML Graphics Project.

Boletos

Para saber mais:

  • Artigo “Made in Brazil: Criando seus próprios boletos bancários com o JBoleto”, por Fabio Souza, revista Mundo Java nº 26 (ano V), novembro 2007.

Geração de documentos PDF

  • iText, por Bruno Lowagie, biblioteca para geração de PDF, utilizada por JasperReports, mas pode ser utilizada diretamente para manipulação avançada de PDF.
  • Apache FOP (Formatting Objects Processor), formatador de conteúdo XML para PDF via XSL-FO.

Para saber mais: