terça-feira, 25 de outubro de 2011

Festa para Crianças Carentes


Garantir a alegria de dezenas de crianças carentes no mês especialmente dedicado à garotada. Esse é o objetivo da campanha “Solidariedade não se economiza”, que promete agitar o mês de outubro dos moradores da área de abrangência do Centro de Saúde Jardim Filadélfia, na região noroeste da capital mineira.
A campanha arrecada brinquedos (e também roupas, livros e alimentos não perecíveis) para celebrar o Dia das Crianças com moradores dos bairros Jardim Filadélfia, Filadélfia, Álvaro Camargo, Frei Eustáquio, Glória e Novo Glória. A festa será realizada no sábado, dia 29 de outubro, a partir das 9h, no próprio Centro de Saúde do Bairro Jardim Filadélfia, localizado na Rua Régida, 319.
A campanha “Solidariedade não se economiza” é uma iniciativa do WebDescontos, que doa brinquedos novos e está em busca de parcerias para alegrar a manhã do dia 29 dessa criançada! Até agora, já está confirmada a presença de uma máquina de algodão doce, além de oficina de balões, desenho de rostos, fantasias, cama elástica e gincanas.
Os interessados em contribuir para a campanha devem entrar em contato através do email contato@webdescontos.com.br ou pelo telefone (31) 3037-4029. O posto de arrecadação fica localizado na Av. Afonso Pena, 4000 (3º andar, sala 7) – bairro Cruzeiro.

quarta-feira, 28 de abril de 2010

Evento JBossInBossa2010

Pessoal,

Venho convidá-los para um evento da Comunidade JBoss Brasil. O evento irá acontecer em SP e conta com a participação de vários líderes de projetos Open Source. Segue mais detalhes do evento:

Evento

Evento

Horário: 7 maio 2010 às 14:00 a 8 maio 2010 às 20:00
Local: Anhembi Morumbi – Casa do Ator, Campos Vila Olimpia
Organizado por: Land do Brasil

Descrição do evento:
internacionais que são líderes de projetos opensource, bem como palestras da comunidade brasileira que desenvolve e fomenta tecnologias relaciodas além do time brasileiro JBoss que atua em diversos projetos de missão crítica que usam tecnologias de ponta em projetos em todos os lugares do Brasil.
Presenças Internacionais da Red Hat/JBoss, eXo Platform e PlugTree/Drools

Pete Muir é o primeiro palestrante internacional a confirmar presença no JBoss In Bossa 2010, você não vai perder a oportunidade de saber tudo da JSR299 – CDI e sobre as novidades do JBoss Seam.

Pete Muir é o Líder do projeto Seam e do Weld(Implementação de referência da JSR 299 – Contexts and Dependency Injection for Java EE), além de desenvolvedor líder do Aquillian, um conjunto de utilitários para testes de Servidores de Aplicação. Pete é um funcionário da Red Hat Inc, como Core Developer trabalhando em vários projetos de código aberto JBoss.
Pete tem palestrado em várias conferências como Devoxx, Jax, JBossWorld, JSFDays e JavaBlend, além de várias palestras em JUGs sobre Seam. Ele escreve sobre Seam, Weld e Java em seu blog: http://in.relation.to/Bloggers/Pete

Benjamin Mestrallet é o CEO da eXo Platform, uma empresa francesa que ele fundou logo após a universidade para atender seu primeiro cliente: Departamento de Defesa Americano. Com a recente expansão da Exo para os EUA, Benjamin supervisiona de São Francisco-EUA o crescimento da companhia , marketing e estratégia de vendas. Ele criou o projeto eXo enquanto ainda estudante em Dezembro de 2002, entregando o primeito Java Portlet Container da indústria. Em reconhecimento a sua liderança, Benjamin recebeu o prêmio de “Estraordinário Jovem Líder de Tecnologia de 2008″, o IVY Award na França. Ele possui Mestrado em Ciência de Grenciamento pela Universidade de Paris IX Dauphine. Site da eXo Platform: http://www.exoplatform.com

Mauricio Salatino é CTO na PlugTree (http://www.plugtree.com), uma empresa especializada no fornecimento de soluções usando a plataforma Drools com escritórios em Miami, EUA e Buenos Aires, Argentina. Maurício é committer no projeto Drools, e vem desenvolvendo inúmeros projetos com os conceitos de Motor de Regras, CEP(Complex Event Process) BPM e portais com Alfresco, autor do livro: jBPM Developer Guide pela PacktBuk, é o fundador do grupo de usuários JBoss da Argentina(http://www.jbug.ar), é formado em Engenharia de Sistemas pela Universidade de Mendonza – Argentina, escreve regularmente em seu blog: http://salaboy.wordpress.com

Confira a Agenda completa aqui: http://www.jbossinbossa.com.br/2010/agenda.html

Ver mais detalhes e RSVP em JBoss Brasil:

http://jbossbrasil.ning.com/events/event/show?id=2234825%3AEvent%3A19199&xgi=48yfZiTpQVlyHY&xg_source=msg_invite_event





É um evento bem interessante e com certeza contribuirá bastante para arquitetos e desenvolvedores.

[]s,

Samuel

terça-feira, 23 de março de 2010

Performance de aplicações WEB

Olá pessoal,

Tenho encontrado constantemente sites com problemas sérios de performance. Algumas das vezes temos problemas estruturais sérios, mas algumas vezes os problemas podem ser simples de resolver e pequenos ajustes representam grande melhoria na experiência do usuário.

Quando dizemos performance de aplicações, logo os desenvolvedores pensam em grandes mudanças estruturas como cluster, melhorias na JVM, máquinas novas, cache de banco de dados e outras. Isto também são melhoras importantes, mas quando se trata de aplicações web, a percepção da performance pelo usuário, pode ser melhorada por otimizações mais simples como mudanças no front-end da aplicação.

Podemos encontrar as melhores práticas sobre performance de aplicações web em http://developer.yahoo.com/performance/rules.html. Entre as dicas descritas no documento acima temos:

* Fazer menos requisições HTTP

* Adicionar um cabeçalho “Expires” na resposta HTTP

* Utilizar Gzip para compactar os componentes da página

* Colocar os Stylesheets no topo da página

* Colocar os Scripts no fim da página

* Evitar CSS Expressions

* Colocar os códigos JavaScript e CSS em arquivos externos

* Reduzir DNS Lookups

* Compactar os códigos JavaScript

* Remover Scripts duplicados

* Evitar Redirects

* Configurar as ETags

* Make Ajax Cacheable

Uma ferramenta que auxilia bastante é um addon do mozilla que chama YSlow que é um addon desenvolvido pela Yahoo. Este addon analisa com base nas melhores práticas documentadas no artigo acima quais regras estão sendo usadas.

Uma dica que me ajudou bastante em algumas aplicações que trabalhei foi a de habilitar a compressão de páginas. Existem páginas que são grandes, o que faz com que o acesso seja lento em conexões de rede ruins.

Esta compressão de página basicamente troca o requisito banda por CPU. Os passos realizados para a compressão são os seguintes:

1 – O browser do cliente faz uma requisição e envia para o servidor no cabeçalho que o browser aceita arquivos comprimidos.

2 – O servidor verifica que o browser que fez a requisição aceita arquivos comprimidos.

3 – O servidor comprime a página e envia para o cliente.

4 – O cliente descompacta a página recebida e exibe para o usuário.

Podemos utilizar para a compressão de página o apache com o módulo mod_deflate. Para explicações mais detalhadas sobre como funciona o mod_deflate verifiquem a documentação em http://httpd.apache.org/docs/2.0/mod/mod_deflate.html.

É isto ai pessoal. Espero que vocês sigam as orientações, para o bem de suas aplicações e de seus usuários.

terça-feira, 2 de fevereiro de 2010

Cache de páginas com o framework EhCache

Olá pessoal,

Há bastante tempo não escrevo nada. Resolvi falar agora sobre melhorias de performance que ajudam bastante a aplicação. Em sites, constantemente temos páginas que acessam várias consultas pesadas além de regras de negócio. Estas páginas quando muito acessadas causam freqüentemente problemas de desempenho na aplicação e páginas lentas.

Um dado importante para se tomar a decisão de utilizar ou não cache em páginas é a relação entre corretude e performance. Imagine o seguinte caso: Você tem uma página que possui as últimas notícias da sua empresa. Se uma nova notícia nova acaba de sair, qual o impacto da notícia demorar um pouco a mais para entrar no ar? O ganho de performance vale a pena o atraso na notícia. Se sim é interessante utilizar neste caso o cache para esta página.

Quando temos cenários parecidos com este podemos verificar se é possível realizar cache de páginas. O Ehcache que é um framework java possui além do cache de objetos e cache para acesso a dados com JPA, possui também cache de páginas. Este cache às vezes é mais interessante, porque uma mesma página pode possuir várias consultas e regras de negócio, o que faz com que o cache de página geralmente gere mais ganho de performance do que o cache de acesso a dados.

Para definir o cache de páginas é necessário primeiramente baixar os jars do ehcache disponíveis em http://ehcache.org. Entre os jars necessários é necessário baixar o módulo ehcache-web, que possui a Servlet responsável por gerenciar e guardar o cache das páginas.

Depois disto, no classPath (pode ser na pasta src por exemplo) deve ser adicionado o aquivo ehcache.xml com um conteúdo 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 é necessário verificar o tempo de expiração do cache que é definido pela propriedade timeToLiveSeconds que representa o número de segundos do cache da página apresentada.

Depois, no arquivo web.xml devemos adicionar o filtro de cache para as páginas necessárias, assim como mostrado abaixo:

<!-- Filtros para cache de páginas adicionado para páginas -->
<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 é bastante significante. Além do cache de páginas comum é possivel também compactar as páginas, adicionar cabeçalhos, entre outros. Para mais informações visitem http://ehcache.org/documentation/web_caching.html.

É isto aí pessoal. Qualquer problema avisem...

quarta-feira, 9 de setembro de 2009

Resultado da enquete sobre certificações Sun

Olá pessoal,

Chegamos ao resultado de mais uma enquete. Desta vez sobre certificações Sun. Segue abaixo o resultado:

resultado enquete

Pelas respostas dos visitantes do site vimos que a grande maioria (57%) ja possuem a certificação de Programador (SCJP). Logo atrás em segundo lugar, com 38% das respostas estão os visitantes que responderam que não possuem nenhuma certificação.

Em terceiro lugar com 32% estão os certificados em Desenvolvimento Web (SCWCD). Muito próximo, logo abaixo estão os visitanes com certificação Associate (SCJA) e em Componentes de Negócios (SJBCD) com respectivamente 18% e 16% das respostas.

12% dos visitantes que responderam a enquete possuem a certificação de arquiteto (SCEA) e 7% a de Web Services (SCDJWS). Por último ficaram as certificações de desenvolvedor (SCJD) e de desenvolvedor para aplicações móveis (SCMAD) empatados com aproximadamente 6% das respostas.

Nesta última votação tivemos uma participação ainda mais ativa dos visitantes. Em breve teremos novas enquetes e continuem votando.

É isto aí pessoal.