agosto 2007


Estreou hoje a nova home-page da Globo.com.

Nova home-page da Globo.com

Partindo do design e da arquitetura da informação pautados pela objetividade e pela simplicidade que já vinham sendo trabalhados no portal de notícias G1, a nova página inicial da Globo foi ainda além.

O novo design é extremamente limpo e direto. Uma organização em apenas três categorias principais, que também determinam as três cores e as três colunas principais de conteúdo: Notícias, em vermelho, Esportes, verde, e Entretenimento, laranja. Demais elementos gerais seguem a cor azul.

Pouquíssimos adereços. Fundo branco. Imagens, só em fotos e banners. E o HTML é totalmente “tableless”, sem uso de tabelas para layout. E CSS amplamente usado com maestria.

O estilo é tão objetivo que muita gente pode entrar e ter a primeira impressão: “nossa, parece que está faltando alguma coisa!” Mas é porque sobra conteúdo.

Destaque também para as listagens das matérias mais lidas e dos termos mais buscados, dando maior retorno interativo ao interesse dos usuários.

Veja também o vídeo Conheça a nova home da Globo.com! (1,5 min), onde a equipe de criação web da Globo.com apresenta a nova página e explica sua concepção.

A busca da objetividade da Globo.com me faz lembrar do vídeo Acessibilidade Web: Custo ou Benefício?, um excelente documentário (12 min) sobre acessibilidade na web, produzido por Acesso Digital (em Google Video, 2007-05-24).

No documentário, uma página da Globo era um dos primeiros contra-exemplos tomados quanto à acessibilidade. Ao buscar a objetividade, o novo design é também um grande avanço rumo à melhoria da acessibilidade. Para melhorar mais, poderia ter logo no início um link do tipo “Ir direto para conteúdo”, levando a uma âncora para o miolo do conteúdo; isso auxilia muito a navegação por deficientes visuais e motores.

Para fazer uma pequena medição da leveza em termos de tráfego de rede, utilizei o Net view do FireBug. Vi que a nova home da Globo.com necessita, para carregar tudo, de 48 requisições (arquivos) e 205KB. A título de comparação, a página inicial da Folha Online gasta 78 requisições para ser composta e totaliza 393KB. Já a do Estadão consumiu vultosos 123 requisições e 868KB.

Parabéns à Globo.com pela ousadia na busca da evolução!

Para saber mais:

O assunto não é notícia tão fresca, mas mesmo assim acho que a importância ainda merece nota.

Que o Java é uma tecnologia de software livre, que os projetos de software livre do OpenJDK e o Sun Java Compatibility Kit têm licença GPL, que Java domina o mercado de software no Brasil e no mundo, isso tudo já foi falado aqui.

Outro fato de grande importância é que, no início de agosto, tivemos uma prova concreta de que o Java Community Process (JCP), mecanismo público de padronização de Java, aberto a toda à comunidade Java — empresas, instituições e indivíduos especialistas/interessados — e que dita as evolução do mundo Java, também é livre.

No início deste mês, 7 de agosto, foi lançada a versão final da JSR-291 de suporte à componentes dinâmicos em Java SE, especificação liderada pela IBM, apesar dos sucessivos votos contrários da Sun nas votações.

A Sun, criadora da tecnologia Java, não controla o JCP nem a tecnologia Java. Tem como único privilégio uma cadeira cativa em cada um dos Comitês Executivos do JCP.

São dois Executive Committees (ECs): um para Java Standard e Enterprise, outro para Micro Edition. Cada comitê tem 16 membros votantes, responsáveis pela aprovação das das requisições de especificação Java (JSRs). Das 16 cadeiras, 10 são membros ratificados, 5 eleitos e uma é cativa da Sun. Os mandatos de três anos tem rotatividade tal que a cada ano 5 dos 16 membros do comitê são ratificados ou eleitos.

O motivo do voto “não” da Sun no caso foi o fato da especificação JSR 291 basicamente ratificar o padrão OSGi Core Release 4, publicada em outubro de 2005, e não algo desenvolvido por experts da comunidade Java no JCP. Apesar disso, os 12 votos favoráveis do comitê mostraram que a maioria dos membros não concordava com a Sun e achava, sim, importante a interoperabilidade e parceria com a OSGi através desta JSR. Resultado: Sun foi voto redondamente vencido.

Ponto para a liberdade realmente democrática, mas com seriedade, organização e alta padronização, do JCP!

Para saber mais:

  • JCP FAQ. Veja em especial a questão “What is an EC and what is its purpose”, que explica a composição dos Comitês Executivos do JCP.
  • A Sun controla o futuro do Java ?, por Dyego Souza Dantas Leal, 2007-01-24.

Interessante artigo, direto e prático, na última edição do newsletter SDN Enterprise Java Technologies Tech Tips:

Combining JavaServer Faces Technology, Spring, and the Java Persistence API, por Carol McDonald, 2007-08-24. Você pode inclusive baixar o código de exemplo pronto para compilar no NetBeans 5.5.1 e rodar em GlassFish V1 (Java EE 5) com Spring 2.1.

OS newsletters Tech Tips da Sun Developer Network (SDN) agora também estão disponíveis como blogs:

Pesquisa realizada pela MBI – Mayer & Bunge Informática, em colaboração com a Assespro SP e o Instituto de Tecnologia de Software (ITS), traçou um panorama das 50 maiores representantes do setor de software no Brasil. Sobre linguagens de programação utilizadas, predomina o uso de Java em quase metade das empresas, observando-se também um crescimento de linguagens Microsoft citadas.

Java 46%
 
Visual Basic 36%
 
Delphi 32%
 
C ou C++ 20%
 
Clipper 10%
 
Cobol 6%
 
PHP 4%
 

Banco de dados Oracle × Microsoft no Brasil, quesito também avaliado na pesquisa:

Oracle 10g 54%
 
Oracle 9i ou menos 68%
 
SQL Server 2000 62%
 
SQL Server 7 ou – 52%
 

Fontes: IT Web, por Ligia Sanchez; e Quase 50 % das empresas Brasileiras usam Java, por Ednei Manica.

Mudando de pesquisa, mas ainda nas estatísticas… Gnome é líder no desktop Linux:

Fontes: Linux Desktop; e Nação Livre.

Curtas

Alexandre Simundi antecipa que está preparando uma série de aritigos Hibernate – da teoria à prática (2007-08-26) para breve.

Brunno Silva fala sobre Imutabilidade (2007-08-26), prática incentivada por Joshua Bloch em seu livro Effective Java.

Comentário Seja honesto, de verdade (2007-08-24) de Caio Cesar critica o plágio de texto em blogs e na Internet.

Edgar Silva fala sobre SOA em dois tópicos: Otimo post sobre SOA de Ricardo Ferreira (2007-08-25) cita o artigo Usando o SOMA e o JBoss ESB; e SOA Facts (2007-08-24) é uma crítica humorada estilo “Chuck Noris facts”.

Vitor Fernando Pamplona Deu pau no T.I. (2007-08-24) resume fatos da situação de TI nas empresas, com base na reportagem da Você S.A. (edição 110) por Gabriel Penna.

O mercado de TI é foco do comentário de Ednei Manica à matéria Existe futuro para aqueles que buscam uma carreira em TI? (2007-08-20), por Sergio Rubinato Filho, vice-presidente do itSMF Brasil e diretor de Servicos do itSMF International, na ComputerWorld Brasil.

Advanced “You think you know (JavaScript) but you have no idea” (2007-08-24) por Rafael Mueller, Quero ser Ágil, fala das apresentações em vídeo sobre JavaScript por Douglas Corckford.

Fechando de onde começamos: Java. Rodrigo Urubatan cita um artigo em C# 3.0 é uma linguagem dinâmica! e o Java correndo atrás da máquina! será mesmo? (2007-08-24) para lembrar que Java é muitíssimo mais que uma linguagem, é plataforma (na verdade, é uma tecnologia com várias plataforma: desktop, corporativa, móvel…). Para quem quer usar linguagem dinâmica em plataforma Java, pode usar Groovy, que compila em bytecode e serve até para fazer testes unitários de código Java de modo facilitado (artigo em inglês por Andrew Glover, Vanward Technologies, 2004-11-09, em IBM developerWorks).

Tirinha de Savage Chickens – “Eight Steps”, 1º agosto 2007, por Doug Savage, © 2007:

Savage Chikens - Live in Eight Easy Steps

Fonte: Trabalhar menos e viver melhor? Parte 2, por Yuri Gitahy, 2007-08-07.

Nesta quinta-feira dia 23, Jonhathan Schwartz, CEO e Presidente da Sun, escreveu em seu blog o artigo The Rise of JAVA – The Retirement of SUNW. Além de comentar a recente parceria da Sun com a Google para distribuir gratuitamente o StarOffice — versão comercial da Sun para a suíte de programas de escritório OpenOffice.org — no pacote de software Google Pack, o destaque do artigo é o seguinte:

JAVA is a technology whose value is near infinite to the internet, and a brand that’s inseparably a part of Sun (and our profitability). And so next week, we’re going to embrace that reality by changing our trading symbol, from SUNW to JAVA.

Ou seja, a Sun mudou sua marca no mercado financeiro, trocando o código (ticket) de suas ações na bolsa tecnológica Nasdaq de SUNW para JAVA! Segundo Schwatz, isso reflete o quanto a Sun abraça a realidade da tecnologia Java ter valor ilimitado e ter sua marca como parte inseparável da Sun e de sua rentabilidade.

O fato foi noticiado também em artigo Bye Bye SUNW, Hello JAVA: Sun To Change Its Stock Ticker Symbol — “JAVA is a technology whose value is near infinite to the Internet” — por Java News Desk, 24/ago, no Java Developers Journal (JDJ).

Calvin Austin em seu blog levantou questionamentos bem-humorados a respeito: “Já pensou se agora a Apple mudar para IPOD, Microsoft para OFFICE e Oracle para DB? Será que JAVA deve ser citado como JAVA(TM) na cotação para manter o direito da marca comercial? O que acontece se a indústria de café estiver mal, será JAVA também afetada?”


Lançamentos de software Java anunciados no dia 23:


Já faz tempo que não falo nada do assunto Unix. Tenho dado uma dica ou outra relacionada a Linux, mas nada dos Solaris e HPUX da vida. Foi “nostálgico” ver no blog de Ataliba Teixeira a dica Removendo espaço não usado no HP-UX, Dicas Unix. A dica cita a origem no Unix Guru Universe (UGU), portal velho conhecido meu há anos.

Me identifiquei também com a constatação do Ataliba em seu artigo seguinte, Blog é um troço interessante. “Para quem é paraquedista, serviu chegar até aqui. Ou seja, ele tem que ter a resposta para o que eu quero, já que o Google me jogou aqui.” Felizmente não é a postura de todos, mas também acho gozado como tem gente que lida com a Internet de forma meio egoísta, comodista, revoltada, mal educada ou algo assim. Em resumo, a vêem como uma via de mão única: eu quero tudo o que eu preciso, de graça e rápido. Para estes, só me resta desejar que um dia entendam o significado de cooperação e colaboração.

Bem, vou voltar ao InfoBlogs e meus feeds RSS para ver o que mais essa gente bacana da Internet anda escrevendo… Boa semana a todos!

Foi lançado dia 20 passado e divulgado ontem em Eclipse Plugin Central (EPIC) o MyEclipse 6.0 GA.

Os destaques da versão 6.0 do MyEclipse são a atualização para Eclipse 3.3/Europa e WTP 2.0, bem como pleno suporte a Windows Vista/Mac OS X/Linux, Java EE 5, Java SE 6, Spring 2.0 com integração avançada Spring/JPA, EJB3, Struts 1.3.8, Hibernate 3.2.5, Spring 1.2.9. A perspectiva AJAX e o AJAX Web Browser substituem e ampliam os recursos Web 2.0 do MyEclipse 5.5. Entre servidores suportados, há agora o MyEclipse Tomcat 6.0 integrado, além de suporte a Glassfish 2.x e todos os outros já contemplados (JBoss, Oracle, WebLogic, WebSphere etc.). Também foi atualizado o extenso material de referência/ajuda integrado no MyEclipse Learning Center.

MyEclipse Enterprise Workbench é uma distribuição comercial do Eclipse IDE, com diversos plugins profissioais integrados, desenvolvido pela empresa Genuitec. Comercializado na forma de assinatura anual, o MyEclipse é fornecido em duas variantes: Professional (USD$49,95/ano) e Standard (USD$29,95/ano).

A versão Professional inclui, além dos recursos da Standard, MyEclipse UML (editor de diagramas Use-case, Class, Collaboration, State, Activity, Deployment), JavaScript Debugger (com suporte a AJAX/Web 2.0), Matisse4MyEclipse (editor GUI visual Matisse do NetBeans portado para MyEclipse), Extended Database Support (suporte avançado a bases Oracle, MySQL, Microsoft SQL Server e Sybase) e Java Image Editor (com suporte a JPG, GIF, PNG, BMP, PSD, TIFF, TGA, PICT, PCX, RAS).

Para saber mais:

Entenda e soluciona erros do tipo Can"t connect to X11 window server em aplicações rodando em um servidor Java em sistema operacional Unix ou Linux.

Fundamentos

Aplicações rodando em um servidor Java EE podem precisar utilizar bibliotecas, frameworks componentes ou primitivas gráficas. Um caso típico é o processamento dinâmico de arquivos ou fluxos de dados de objetos gráficos como uma imagem, por exemplo, para a geração de um gráfico em um relatório, ou de um código de barras em um documento.

A maioria dos componentes gráficos pressupõe a existência de um ambiente gráfico (java.awt.GraphicsEnvironment), com dispositivo de exibição (tela), além de teclado e mouse. De fato, não faz sentido criar um componente gráfico desktop em Java como um Botão (Button) ou janela (Window, Frame, Dialog etc.) sem que o Java tenha um ambiente gráfico provendo as definições e configurações necessárias para a existência e exibição do componente.

Mas componentes gráficos mais genéricos como Canvas, Panel e Image podem ser criados sem existência de modo gráfico no ambiente de execução da VM Java.

Enquanto as aplicações Java desktop (Java SE) com interface gráfica (Swing, AWT etc.) requerem um ambiente gráfico para sua exibição onde a VM Java está executando, aplicações Java EE são processadas em uma VM Java no servidor, mas a exibição ocorre no lado cliente, em geral em um navegador web. Muitas vezes, um ambiente de execução servidor Java EE nem possui modo gráfico ativo.

Normalmente isso não faz diferença em sistemas Microsoft Windows, onde as primitivas do ambiente gráfico sempre estão presentes. Mas em sistemas operacionais como Unix/Linux, há diferenças no ambiente da execução da VM Java entre o modo gráfico interativo — onde há um servidor de ambiente gráfico X11 (X Window System, ver X.Org e XFree86) em execução — e o modo batch ou console não interativo (serviços ou processos daemon).

O ambiente servidor não interativo, sem dispositivos gráficos, é chamado no jargão técnico de modo “sem cabeça” ou “headless” em inglês.

Problema e solução

Para usar bibliotecas, componentes ou primitivas gráficas em ambiente servidor Unix/Linux, não interativo e sem modo gráfico, configure o Toolkit gráfico da VM Java para executar em modo “sem-cabeça”, ou Headless Mode, existente desde o J2SE 1.4.

Para isso, é necessário definir a propriedade de sistema java.awt.headless como true. Na linha de comando da execução Java, usa-se a opção -D conforme a seguir:

java -Djava.awt.headless=true

Alternativamente no código Java, no início da aplicação antes que o Tookit gráfico seja inicializado, pode-se executar:

System.setProperty("java.awt.headless", "true");

Sem esta definição em servidores Unix/Linux, a tentativa de uso de componentes ou métodos gráficos deve gerar uma erro similar a:

Exception in thread "main" java.lang.InternalError:
Can"t connect to X11 window server
using ":0.0" as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment
        at java.awt.Window.<init>
        at java.awt.Frame.<init>
        at java.awt.Frame.<init>
        at javax.swing.JFrame.<init>

Em Headless Mode, aplicações podem realizar as seguintes operações:

  • Criar componentes genéricos como Canvas, Panel, Image e outros componentes leves Swing que não sejam top-level;
  • Obter informação sobre fontes disponíveis, suas métricas e configurações;
  • Definir cor para renderização de texto e gráficos;
  • Criar e manipular imagens, bem como prepará-las para renderização;
  • Imprimir usando as classes java.awt.PrintJob, java.awt.print.*, javax.print.*;
  • Emitir um bipe de áudio.

Já a tentativa de criação ou uso de componentes ou primitivas que requerem obrigatoriamente um ambiente gráfico, em Headless Mode gera a seguinte exceção: java.awt.HeadlessException. Neste caso, verifique se a operação desejada realmente pode ser executada no servidor (em modo não interativo), ou se há outra forma de fazer a operação que não necessite do modo gráfico.

Referências

Quem utiliza o Skype, o programa que popularizou a voz-sobre-IP (VoIP, a telefonia via Internet), deve ter visto que nos dias 16 e 17 ocorreu alguma espécie de “pane” no sistema, tal que estava quase impossível alguém conseguir ficar on-line durante a conexão inicial (sign-on) no Skype.

A primeira divulgação do problema no blog Skype Heartbeat foi às 14h (GMT) do dia 16.

Ontem, a página principal do Skype divulgava a seguinte nota (tradução livre minha, do texto original em inglês):

Aqui estão as últimas sobre o problema de conexão (sign-on). Estamos no caminho para recuperação. O Skype está estabilizando, mas o processo pode continuar durante o dia. Um número encorajador de usuários pode agora usar o Skype novamente. Nós sabemos que ainda não estamos livres das dificuldades, mas estamos em melhor situação agora do que estávamos ontem.

Finalmente, gostaríamos de dissipar algumas teorias que ainda estamos ouvindo. Nem a manutenção planejada de quarta-feira dos nossos serviços de pagamento via web nem qualquer forma de ataque estão relacionados com os problemas de sign-on de forma alguma.

Daremos informações atualizadas novamente tão logo tenhamos. Obrigado por permanecerem próximos.

Por favor veja nosso blog Heartbeat para ver atualizações em progresso.

ATUALIZADO 17 Agosto, 2007 11:00 GMT

Hoje, com a situação aparentemente normalizada, havia a seguinte nota explicativa (igualmente traduzida):

Olá amigos,

Respirem fundo. Skype voltou ao normal.

Na segunda-feira, iremos fornecer uma explicação mais detalhada do que aconteceu. Até lá, gostaríamos de pedir desculpas e agradecer. Precisamente nesta ordem.

Sabemos quão difícil e frustante os dois últimos dias têm sido. E ainda, seus votos positivos continuam chegando. Muito obrigado pelas incríveis paciência, confiança e apoio!

ATUALIZADO 18 Agosto, 2007 11:00 GMT

Vamos aguardar, então, a explicação mais detalhada prometida para segunda-feira.

Quem acompanha este blog sabe que tenho acompanhado a evolução dos ambientes de desenvolvimento (IDEs) Java. Criei até uma categoria IDE para concentrar os artigos escritos aqui sobre o tema.

Eis aqui mais atualidades sobre IDEs Java NetBeans, JBuilder/JGear e Eclipse.

NetBeans

Enquanto o NetBeans 6.0 final não chega (atualmente no Milestone 10), a novidade é a proposição de licenciamento dual para o NetBeans, incluindo também a opção de adoção da licença GPL v2 com a exceção Classpath, além da atual CDDL.

O modelo de licenciamento GPL v2 + exceção Classpath é o mesmo adotado pelo OpenJDK. A proposição para o NetBeans representa, portanto, um alinhamento dos modelos de licenciamento de software livre oriundo da Sun, bem como a possibilidade de adoção de uma licença mais familiar à comunidade de software livre e Linux mundial, que é a GNU General Public License (GPL), da Free Software Foundation / Projeto GNU.

A proposta foi anunciada hoje, dia 17, em carta aberta do Bruno Souza à Comunidade NetBeans publicada no Roumen’s Weblog. Para quem não sabe, Bruno Souza, o “Java Man“, fundador do grande JUG SouJava e um dos principais evangelistas Java do Brasil, foi contratado pela Sun Microsystems e no início de 2007 se tornou gerente mundial para Comunidade NetBeans.

Veja também a nota NetBeans to become GPL!, por Joshua Marinacci em seu blog.

Para explicar a proposição de forma didática, foi criada também uma página de FAQ no portal da Comunidade NetBeans: Why GPL v2 Frequently Asked Questions.

Outra atualidade é o artigo Handy Guides – Books About Developing with NetBeans, que destaca três livros sobre NetBeans lançados recentemente. A página NetBeans Books apresenta uma ampla listagem comentada de livros sobre o NetBeans ou sobre desenvolvimento Java usando NetBeans.

JGear e JBuilder

Dia 13 de agosto, a CodeGear, unidade de ferramentas de desenvolvimento da Borland, anunciou a linha de produtos JGear, de plugins especializados de desenvolvimento Java para IDEs baseados no Eclipse 3.2 Callisto. Inicialmente, a linha oferece três produtos:

  • JGear Performance for Eclipse, ferramenta para profiling, análise de desempenho e cobertura de código Java baseada na tecnologia Optimizeit.
  • JGear LiveSource for Eclipse, ambiente que permite desenvolvimento visual de mão-dupla de código graficamente como diagramas de classe e de seqüência UML 2.0, com especializações prontas para EJB 2, EJB 3, JPA e web services, baseado no mecanismo Together LiveSource.
  • JGear Team Client/Server for Eclipse, sistema completo de colaboração e desenvolvimento em equipe, baseado no TeamInsight (introduzido no JBuilder 2007) e em componentes software livre como Subversion, Bugzilla, Continuum e XPlanner; provê um portal de acesso unificado e ferramentas para revisão de código e gerenciamento de bugs/issues, tarefas, requisitos e to-do’s; inclui também o cliente de administação simplificada ProjectAssist e extensões para o recente projeto Eclipse Mylyn.

Veja também a postagem em JavaFree em português, Borland CodeGear anuncia JGear, um conjunto de plug-ins para aumentar a produtividade do Eclipse, 17/08/2007, e o comentário no portal JavaWorld, CodeGear releases Eclipse plug-ins, por Heather Havenstein, 14/08/2007.

Outro anúncio interessante foi o Roadmap com as perspectivas para evolução do JBuilder e do JGear para 2007, 2008 e 2009.

No portal CodeGear está disponível também o vídeo da apresentação sobre este Roadmap feita por Joe McGlynn (veja também seu blog), Gerente de Produto da divisão CodeGear.

Eclipse

Além dos pacotes de distribuição disponíveis para baixar no portal do Eclipse para a versão do Eclipse 3.3 no lançamento anual integrado Europa 2007, você pode obter pacotes de distribuição que integram vários componentes do Eclipse tanto para a versão 3.2 Callisto quanto 3.3 Europa, nas seguintes fontes independentes:

  • Projeto EasyEclipse, que provê pacotes de distribuição para vários perfis Java, inclusive o abrangente EasyEclipse Server Java, para Java EE. Além de prover instalador/desinstalador, o EasyEclipse integra e testa diversos plug-ins software livre desenvolvidos por terceiros para Eclipse.
  • Distribuições IBM developerWorks, que já disponibilizava pacotes de distribuição ZIP especializados para o Eclipse 3.2 Callisto, agora com opções atualizadas também para 3.3 Europa. Os pacotes são similares aos disponíveis no próprio projeto Eclipse.

Se tiver tempo, participe também da pesquisa Eclipse Community Survey, realizada pela IDC (análise e consultoria do mercado de TI mundial) e Fundação Eclipse.org.

Próxima Página »