terça-feira, 26 de agosto de 2008

Economizando energia ao usar o Google?


Está circulando pela rede a um bom tempo a informação de que é possível economizar energia elétrica ao fazer buscas no Google. Será?

Alguns estão afirmando que a tela branca do Google gasta mais energia que uma tela totalmente preta. Existem até alguns malucos que estão calculando quanta energia é economizada considerando o consumo desta tela branca nos monitores e as estatísticas de uso do Google.

A empresa chamada Heap Media desenvolveu uma página de busca beaseado no Custom Search Engine do Google para proporcionar esta tão falada economia de energia. O site se chama: Blackle.

Mas não existe mágica! Encontrei alguns artigos na rede afirmado que esta economia só é possível nos monitores CRT. Já os monitores LCD o consumo de energia é o mesmo para todas as cores.

Contudo, vale um alerta de segurança! Estes sites não são do Google e nem de uma empresa do Google. Alguns destes sites permitem o usuário se autenticar no Google. Então, existe o risco destes sites capturar o seu usuário e senha do Google. Mas, a idéia parace interessante, salvo alguns cuidados!

Como estou curtindo o meu monitor novo LCD de 22 polegadas da Samsung não poderei dar a minha contribuição!

Anyway, seguem algumas referências na rede:

sexta-feira, 1 de agosto de 2008

Ecossistema Spring

Na palestra que realizei no último TDC junto com o Ricardo Jun, colocamos dois slides na apresentação que chamamos de Ecossistema Spring. Estes slides foram muito apreciados por várias pessoas que viram a apresentação. Como tivemos muitos feedbacks positivos sobre estes slides, gostaria de compartilhar com vocês as imagens utilizadas para representar o ecossistema.

A primeira imagem ilustra as integrações com diversos fremeworks e serviços Java EE que o Spring Framework proporciona. Estas integrações estão todas disponíveis num único JAR (spring.jar).


Os elementos folha neste diagrama representam as tecnologias ou frameworks que o Spring Framework permite integração sem reinventar a roda. Em alguns casos o Spring Framework traz uma implementação própria como, por exemplo, o Spring MVC e Spring JDBC (templates e datasources). A seguir alguns destas caixinhas são detalhadas:
  • Core: Implementa o contêiner IoC;
  • Web: Recursos para implementação de aplicações Web: integração com frameworks MVC, implementação própria de MVC e integração com tecnologias de visualização;
  • DAO: Classes utilitárias para desenvolvimento de DAO's com JDBC e gerenciamento de transações;
  • AOP: Disponibiliza o conceito de aspectos via AOP Alliance e AspectJ para integrar os POJO's com os serviços enterprise;
  • ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional;
  • Java EE: Classes utilitárias para integração com serviços Java EE;
  • Remoting: Expõe os métodos dos POJO's para invocação remota.
A próxima imagem ilustra o que é chamado de Spring Portfolio. Este portfolio é composto por diversos projetos que complementam o Spring Framework e utilizam as mesmas boas práticas sugeridas pelo Spring. Neste portfolio, pelo menos os seguintes recursos são disponibilizados: Segurança, integração com outros frameworks, processos batch, OSGi e ferramentas de desenvolvimento.

Neste diagrama, os elementos vinculados ao Spring Framework são pacotes distribuídos separadamente e disponíveis em um ou mais arquivos JAR. Cada produto tem uma página própria de documentação e download que são acessíveis na página Spring Projects. A seguir alguns destas caixinhas são detalhadas:
  • Spring Security: Segurança declarativa via XML ou anotações com suporte a AOP e integração com tecnologias de segurança: JAAS, LDAP, DAO, OpenID, CAS, X509, Windows NTLM;
  • Spring Web Service: Suporte a Web Services a partir da definição do XML Schema e WSDL (Data Contract e Service Contract);
  • Spring Web Flow: Suporte ao controle de fluxo de navegação Web, integração com JSF, conversação e Ajax;
  • Dynamic Modules for OSGi: Simplifica o uso da API OSGi através do Spring com POJO's;
  • Spring Modules: Projeto guarda-chuva que implementa a integração com diversos outros frameworks e ferramentas;
  • Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring;
  • Spring JavaConfig: Suporte a configuração dos beans programaticamente sem usar XML ou anotações;
  • Spring LDAP: Classes utilitárias para interação com um serviço de Lightweight Directory Access Protocol (LDAP);
  • Spring Integration: Implementa o suporte para integração de sistemas via mensagens (EAI e Enterprise Integration Patterns);
  • Spring Batch: Suporte a execução de processos em batch de longa duração;
  • Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse;
  • Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc;
  • Spring .NET: Porte de parte do Spring Framework para desenvolvimento de aplicações .NET!
Alguns destes produtos estão consolidados e maduros, outros estão em desenvolvimento. Portanto, na hora de usar num projeto importante ou em produção, será necessário verificar o status atual do projeto correspondente.

Veja a seguir os slide usados na palestra.


Todas os slides das palestras do evento TDC2008 estão disponíveis para download no site da Globalcode.

Para fechar este post, algumas frases que definem o Spring Framework:
  • Um framework de código aberto e uso livre, sob licença Apache, criado por Rod Johnson;
  • Implementa um contêiner de injeção de dependências (DI) e inversão de controle (IoC);
  • Um framework para programação orientada a aspectos (AOP);
  • Um framework para integração de aplicações com serviços Java EE;
  • Um framework para integração com outros frameworks que implementam serviços enterprise;
  • Não é uma tecnologia padrão mantida pelo JCP;
  • Não é um concorrente da plataforma Java EE;
  • Não é a reinvenção da roda!
Then, enjoy it!