Ola pessoal,Ha bastante tempo nao escrevo nada. Resolvi falar agora sobre melhorias de performance que ajudam bastante a aplicacao. Em sites, constantemente temos paginas que acessam varias consultas pesadas alem de regras de negocio. Estas paginas quando muito acessadas causam frequentemente problemas de desempenho na aplicacao e paginas lentas.Um dado importante para se tomar a decisao de utilizar ou nao cache em paginas e a relacao entre corretude e performance. Imagine o seguinte caso: Voce tem uma pagina que possui as ultimas noticias da sua empresa. Se uma nova noticia nova acaba de sair, qual o impacto da noticia demorar um pouco a mais para entrar no ar? O ganho de performance vale a pena o atraso na noticia. Se sim e interessante utilizar neste caso o cache para esta pagina.Quando temos cenarios parecidos com este podemos verificar se e possivel realizar cache de paginas. O Ehcache que e um framework java possui alem do cache de objetos e cache para acesso a dados com JPA, possui tambem cache de paginas. Este cache as vezes e mais interessante, porque uma mesma pagina pode possuir varias consultas e regras de negocio, o que faz com que o cache de pagina geralmente gere mais ganho de performance do que o cache de acesso a dados.Para definir o cache de paginas e necessario primeiramente baixar os jars do ehcache disponiveis em http://ehcache.org. Entre os jars necessarios e necessario baixar o modulo ehcache-web, que possui a Servlet responsavel por gerenciar e guardar o cache das paginas.Depois disto, no classPath (pode ser na pasta src por exemplo) deve ser adicionado o aquivo ehcache.xml com um conteudo parecido com o abaixo:<?xml version="1.0" encoding="UTF-8"?><ehcache> <diskStore path="java.io.tmpdir" /> <cache name="SimplePageCachingFilter" maxElementsInMemory="10" eternal="false" timeToIdleSeconds="600" timeToLiveSeconds="600" overflowToDisk="true" /> <defaultCache maxElementsInMemory="10" eternal="false" overflowToDisk="false" timeToIdleSeconds="120" timeToLiveSeconds="120" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" /></ehcache>Para o arquivo acima e necessario verificar o tempo de expiracao do cache que e definido pela propriedade timeToLiveSeconds que representa o numero de segundos do cache da pagina apresentada.Depois, no arquivo web.xml devemos adicionar o filtro de cache para as paginas necessarias, assim como mostrado abaixo:<!-- Filtros para cache de paginas adicionado para paginas --><filter> <filter-name>SimplePageCachingFilter</filter-name> <filter-class> net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter </filter-class></filter><filter-mapping> <filter-name>SimplePageCachingFilter</filter-name> <url-pattern>/index.jsf</url-pattern></filter-mapping><filter-mapping> <filter-name>SimplePageCachingFilter</filter-name> <url-pattern>/noticias.jsf</url-pattern></filter-mapping><filter-mapping> <filter-name>SimplePageCachingFilter</filter-name> <url-pattern>/rss.jsf</url-pattern></filter-mapping>A melhoria de performance e bastante significante. Alem do cache de paginas comum e possivel tambem compactar as paginas, adicionar cabecalhos, entre outros. Para mais informacoes visitem http://ehcache.org/documentation/web_caching.html.E isto ai pessoal. Qualquer problema avisem... Pela resposta dos visitantes vimos que o JBoss, com 16 votos, e o servidor de aplicacao mais utilizado para a linguagem Java. Em segundo lugar, logo atras na pesquisa com 8 votos vem o servidor da Sun, o Glassfish. O WebLogic da BEA e o Oracle IAS vem com respectivamente 4 e 3 votos Queria agradecer todos que votaram na enquete. E continuem votando para que possamos saber a opniao de voces sobre assuntos relacionados a desenvolvimento e arquitetura. E isto ai pessoal. Em breve teremos mais enquetes. Ola pessoal, Chegamos ao resultado de mais uma enquete. Desta vez sobre certificacoes Sun. Segue abaixo o resultado: Pelas respostas dos visitantes do site vimos que a grande maioria