Eclipse 3.3 Europa liberado

Dia 27 a Fundação Eclipse anunciou para ontem, 29, a liberação do seu projeto coordenado anual de lançamento simultâneo, que este ano recebeu o codinome Europa. O projeto coordenado Europa englobou 21 projetos e mais de 17 milhões de linhas de código para o Eclipse IDE 3.3.

A numeração 3.3 é da versão do projeto principal do núcleo do Eclipse, que abrange os componentes Equinox (framework OSGi e modelo de componentes), Platform (componentes e serviços fundamentais do IDE, incluindo Rich Client Platform – RCP), java Development Tools (JDT) e Plug-in Development Environment (PDE). Outros projetos integrantes do lançamento simultâneo Europa possuem numeração de versão distinta, vários inclusive são projetos estreantes em versão 1.0 ou 0.x:

Só nos recursos básicos, a lista de novidades de destaque é imensa. No WTP 2.0, mais outro monte de novidades.

É o quarto ano seguido em que a comunidade Eclipse lança uma versão principal dentro do planejamento. Para se ter idéia do crescimento, o lançamento simultâneo anterior Callisto em 2006 (Eclipse 3.2) envolveu 10 projetos e 7 milhões de linhas de código.

Existem vários pacotes de distribuição para download do Eclipse 3.3 Europa para diferentes tipos de desenvolvimento, inclusive uma para Desenvolvedores JEE/Web. Não há um pacote tudo-em-um disponível e também ainda não há um instalador. Vejamos se o novo projeto de empacotamento do Eclipse (EPP) facilita isso em breve.

Para saber mais:

Arquiteto de software

Yuri Gitahy de Oliveira, em seu blog Mundo IT, iniciou em março uma série de artigos sobre Carreiras em TI. Muito instrutivo.

O mais recente, do início de junho, é sobre Arquitetura de Software. Fruto da evolução e aumento da complexidade no desenvolvimento de software, como resume bem Yuri em seu artigo, a carreira de arquiteto de software está em alta — e tende a continuar. Requer, contudo, um profissional sênior de informática, com uma visão abrangente e atual do amplo mundo do desenvolvimento de software.

A formação do arquiteto de software é um desafio, pois nada substituirá a experiência para o bom desempenho profissional nessa área.

Um curso inovador que recomendo ao profissional que quer se aperfeiçoar e se atualizar, para atuar como arquiteto de software, gerente de projetos ou gestor de TI, é a especialização Estratégias em Arquiteturas de Sistemas. Desenvolvido recentemente pelo IEC PUC Minas em parceria com a empresa Archware, em Belo Horizonte, MG, o curso aborda temas amplos e atuais em arquitetura de sistema, partindo dos fundamentos para segmentos específicos: Web, Computação Móvel, Integração, Informação e Dados, e Segurança.

Para saber mais:

Linux Ext2/Ext3 filesystem em Windows

Deseja acessar (leitura/escrita) partições de disco formatadas em Linux com o sistema de arquivos (filesystem) Ext2 ou Ext3?

Baixe e instale o Ext2 IFS for Windows – Ext2 Installable File System (IFS) for Windows, por Stephan Schreiber, driver gratuito (freeware) que provê suporte total a partições Ext2 para Windows NT4.0/2000/XP/2003.

Partições Ext3 também são suportadas, já que este formato de filesystem consiste basicamente no Ext2 acrescido do recurso de journaling. Journaling é um mecanismo mais eficiente para o controle e recuperação de falhas (interrupção anormal), em que a informação dos arquivos abertos é mantida em um histórico (log) chamado de journal. O Ext2 IFS monta uma partição Ext3 desde que não haja nenhuma informação no journal, indicando possível fechamento (unmount) anormal da partição, para evitar qualquer perda ou dano aos dados. Em resumo, o Ext2 IFS pode montar partições Ext3 de forma segura, apenas sem tirar proveito do recurso de journaling.

Existem drivers Ext2/Ext3 para Windows como software livre. Cito Ext2Fsd – Ext2 File System Driver for Windows x86 e 64-bits, projeto em SourceForge, e Ext2ifs (nome quase idêntico ao Ext2 IFS), por John Newbigin. Mas estes parecem ainda incipientes.

Outras opções mais básicas são os programas que permitem ler arquivos de uma partição Linux Ext2/Ext3, como o freeware Linux Reader, da DiskInternals, ou o livre Explore2fs.

Contudo, o Ext2 IFS se mostrou simples, efetivo e estável. Em meu Windows XP, sequer precisou reiniciar o computador após a instalação para acessar uma partição Linux como novo disco local.

Um aviso: Acessar partições Linux pelo Windows pode ser muito prático e cômodo, mas cuidado para não modificar ou danificar nenhum arquivo de sistema do Linux!

Para saber mais:

Por que modelar com UML

Muito interessante o artigo Why Model With UML? (em inglês), contribuído para a base de conhecimento do NetBeans 5.5 por Kris Richards e Cindy Castillo, atualizado em 11 de junho de 2007.

Como diz o resumo (abstract):

Este artigo foi escrito para aqueles engenheiros de software que nunca têm tempo para modelar um projeto antes de começar a codificar, e para aqueles que ainda sequer consideraram criar modelos de seus sistemas antes de codificá-los. O artigo apresenta alguns métodos e estratégias para ajudar você a ser mais eficiente e possivelmente ganhar tempo. A informação neste guia deve inclusive permitir que você desafie o argumento “Nós nunca temos tempo para fazer o certo, mas sempre temos tempo para fazer de novo.”

O propósito da Linguagem de Modelagem Unificada (Unified Modeling Language – UML) é prover uma notação de modelagem independente de linguagem de programação e de plataforma. Ferramentas UML são tão versáteis quanto os fundamentos de UML. Este artigo serve como uma introdução aos conceitos básicos de de UML enquanto provê uma compreensão dos propósitos da modelagem. Ele não é um manual como-fazer, mas fornece referências, quando apropriado, para tutoriais ilustrando os passos de como usar os recursos de UML inclusos no IDE NetBeans.

Para saber mais:

Eclipse 3.3 por Osvaldo Doederlein

Os artigos de Osvaldo Pinali Doederlein na revista Java Magazine se destacam pela clareza, precisão, didática e descontração ao tratar dos temas mais diversos do universo Java. Das profundezas da JVM aos recursos do Eclipse, seja sobre Java SE, ME e EE, os artigos de Osvaldo são leitura obrigatória para mim e recomendo a todos.

Na JM deste mês (Edição 47, Ano V, junho/2007), o artigo de Doederlein “Eclipse 3.3: Novidades no Núcleo” aborda em 10 páginas, no bom estilo de sempre, as novidades que vem por aí no núcleo base do Eclipse Java Development Tools (JDT).

Transcrevo a seguir — com permissão do autor Osvaldo Doederlein e do Editor-Chefe da revista Leonardo Galvão — um trecho da primeira seção do artigo, A evolução do Eclipse, que é bastante a propósito do que venho abordando aqui sobre os caminhos e recursos dos IDEs Java Eclipse, NetBeans e JDeveloper.

Há cerca de um ano, com o Callisto, parecia que o Eclipse recuperaria todo o atraso em relação a outros IDEs na abrangência de ferramentas. Mas o mundo não ficou parado enquanto o Eclipse corria atrás de funcionalidades como a criação de JSPs e EJBs. Assim, quando o WTP (Web Tools Project) 1.x chegou, a primeira reação pode ter sido de satisfação com as funcionalidades disponíveis. Mas a segunda poderia ser: OK, temos o feijão-com-arroz do J2EE 1.4, mas cadê o resto? Faltava ainda suporte a Java EE 5 e JPA/EJB 3 (na época ainda em desenvolvimento, mas já contando com suporte inicial de outros IDEs).

O WTP continuou atrás da competição, especialmente após o NetBeans 5.5. E se o suporte a Java EE ainda não era ideal, o que dizer do Java ME, até há pouco sem absolutamente nenhum suporte? Teríamos, então, que esperar mais uma geração da família de ferramentas Eclipse para atingir um status do estado da arte em todas as funcionalidades agora consideras essenciais.

O Europa ou Eclipse 3.3 traz grandes atualizações nessas áreas anteriormente defasadas. Veremos se estas melhorias foram suficientes ao longo do ano, pois o presente artigo é focado apenas no JDT. Aguarde por edições futuras da Java Magazine, onde teremos artigos mais específicos abordando as novidades do WTP e de outras ferramentas do Europa.

Para saber mais, leia esta e as próximas edições da revista Java Magazine.

Oracle SQL – máximo e mínimo

Na Oracle Technology Network (OTN) você pode acessar (requer registro gratuito) toda a documentação dos produtos Oracle, assim como baixar qualquer produto, seja gratuito ou como avaliação/teste para o desenvolvedor de um produto comercial. OTN inclui ainda uma infinidade de artigos, tutoriais, exemplos e fóruns.

Em matéria de documentação de produto, a Oracle não economiza. Vejamos o caso do servidor de banco de dados Oracle 10g. A documentação mais recente Oracle Database Online Documentation 10g Release 2 (10.2) é composta de nada menos que 344 livros!

Na aba Books está a lista completa de todos os livros que compõem a documentação. Todos podem ser visualizados em formato HTML (melhor para visualização on-line) ou PDF (melhor para visualização off-line, consulta e impressão). Para dar um pequeno exemplo apenas sobre a linguagem SQL no Oracle, temos os livros:

  • SQL Developer Installation Guide: guia de instalação do Oracle SQL Developer, ferramenta gráfica multi-plataforma (Java) gratuita da Oracle para manipulação de SQL;
  • SQL Developer User’s Guide: guia do usuário da ferramenta Oracle SQL Developer;
  • SQL Quick Reference: referência rápida dos comandos, funções, expressões, condições, cláusulas, tipos e outras construções do Oracle SQL (142 páginas);
  • SQL Reference: referência completa do Oracle SQL (1428 páginas!).

Se você decidisse ler uma página por dia só do livro de referência completa SQL, demoraria quatro anos para concluir. 🙂

É certo que mesmo o mais experiente desenvolvedor ou DBA Oracle encontrará algumas coisas que nem imaginava existir. Com tanta informação, o mais prático deve ser consultar ou pesquisar o que se precisa sob demanda.

Passeando pela documentação, lembrei de uma dica:

Obter o valor máximo e o mínimo dentre as linhas de resultado de uma consulta SQL é um trabalho para as funções de grupo do SQL: MAX(expressão) e MIN(expressão). Usadas nos itens de retorno ou em condições de grupo HAVING, este tipo de função pode ser relativa a todas as linhas retornadas, ou a agrupamentos de linhas caso exista a condição GROUP BY.

Se você, contudo, precisa saber o máximo ou mínimo entre colunas ou expressões (numéricas, datas/tempo) em cada uma das linhas, aí deve utilizar as funções GREATEST(expr1, expr2…) ou LEAST(expr1, expr2…) respectivamente.

Para saber mais:

IDEs Java – notícias NetBeans 5.5.1

Nos últimos tempos, tenho feito diversas notas e artigos sobre os principais ambientes de desenvolvimento (IDE) Java gratuitos: Eclipse, NetBeans e JDeveloper. Eis aqui uma coletânea das postagens desde o lançamento do NetBeans 5.5 (outubro 2006):

Leia também:

  • O Eclipse vai bem, obrigado, artigo atualizado em 10 de junho de 2006, com uma visão geral sobre IDEs Java, recheado de links adicionais.

Quando citei o lançamento do Eclipse 3.2.2 em fevereiro de 2007, estava entrando em estágio beta o NetBeans 5.5.1. Em 24 de maio passado, foi lançada a versão final.

NetBeans IDE 5.5.1 traz diversas correções de bugs, suporte a versão 2 do servidor Java EE livre GlassFish — base para o Sun Java System Application Server 9.1 — e torna-se compatível com o Windows Vista. No pacote para dispositivos móveis, NetBeans Mobility Pack inclui o Java ME Wireless Toolkit versão 2.5.1.

Em 30 de maio, foi lançada a edição voltada para a ferramenta educativa BlueJ, o NetBeans IDE 5.5.1 BlueJ Edition.

Outro destaque é a ampla participação da comunidade nos projetos de localização do NetBeans 5.5.x — inclusive o novo BlueJ Edition — para o Português do Brasil, conforme diz o anúncio de 05 de junho Go Multilingual with NetBeans IDE 5.5.1. A localização feita pela comunidade de desenvolvedores Brasileiros é bem abrangente, não só da interface do IDE, mas também da documentação/ajuda. Veja mais no artigo For Users by Users: NetBeans 5.5 in Brazilian Portuguese (o NetBeans está traduzido, mas este artigo é em inglês…), de 6 de junho de 2007.

A existência de ampla tradução para Português do Brasil, empacotada em uma prática distribuição localizada para download, torna o NetBeans 5.5.x ainda mais amigável aos iniciantes desenvolvedores brasileiros.

O Eclipse 3.2.x também possui Language Packs para Português brasileiro, em traduções de interface e documentação doadas pela IBM. Mas estão distribuídos por cada subprojeto do Eclipse, exigindo uma “peregrinação” por downloads: núcleo do Eclipse (SDK, RCP, JDT, Equinox), EMF, GEF, Visual Editor, BIRT, EMDT UML2 e XSD. Ademais, componentes importantes como o Java EE and Web Tools (WTP) não têm Language Pack atualmente disponível.

Por fim, para fomentar as opiniões sobre melhores ferramentas para Java, breve — 25 a 27 de junho — serão anunciados os resultados do JDJ Readers’ Choice Awards 2007, concurso realizado pela revista Java Developers’ Journal por votação popular, em que o NetBeans concorre com 12 indicações este ano.

Nem só de JBoss vive o Java EE livre

O JBoss Application Server (AS) é de longe o mais popular e utilizado servidor de aplicações Java EE livre e de código aberto (open source). É ativamente mantido, muito robusto e rico em recursos. Em 2006 a empresa mantenedora JBoss, Inc. foi adquirida pela Red Hat e se tornou uma divisão desta.

Mas nem só de JBoss vive o Java EE livre. Dia 12, 2 postagens em blogs do java.net citavam artigos interessantes sobre os dois servidores Java EE completos e software livre: Apache Geronimo e GlassFish.

Apache Geronimo

Kito D. Mann postou Geronimo and Pluto, believe it or not… citando o recente artigo em IBM developerWorks: Write and deploy portlets to Apache Geronimo with Apache Pluto. O artigo fala da integração do Geronimo com o Apache Pluto, implementação de referência da especificação Java Portlet, JSR-168.

O Geronimo é um projeto livre de servidor Java EE mantido na respeitada Fundação Apache. O Geronimo é empacotado e distribuído pela IBM como a versão gratuita do seu servidor de aplicações, WebSphere Application Server Community Edition.

GlassFish

Arun Gupta citou em GlassFish – Past, Present and Future o excelente artigo The GlassFish Community Delivering a Java EE Application Server (PDF). O artigo traz um excelente histórico da evolução da plataforma Java Corporativa (Java EE) e do servidor de aplicações GlassFish e aborda suas perspectivas futuras.

O projeto GlassFish foi criado pela Sun em 2005, quando a Sun tornou open source seu Sun Java System AS Platform Edition (PE) — que já era gratuito — para se tornar a implementação de referência do Java EE 5. A Sun ainda utiliza o GlassFish como base para sua linha de servidores de aplicação Sun Java System, oferecendo também versões comerciais mais avançadas para clusterização e alta disponibilidade.

Boas blogadas do dia

O dia hoje foi cheio de novidades nos blogs de tecnologia.

Falando da mais pura e bela ciência da computação, o Rodrigo Urubatan destaca a série de artigos — em andamento — por Daniel Quadros, que explica (com exemplos simplificados em C) as fases e aspectos na construção de um compilador:

D!gOw’s anuncia as novidades do Adobe Labs: os betas de Adobe Flex 3, Adobe AIR (sigla de Adobe Integrated Runtime, anteriormente codinome “Apollo”) e Flash Player 9 Update. A dica partiu do blog do evangelista de Flex, Ted Patrick. As tecnologias da Adobe também foram assunto no blog e-Genial (Flex 3, AIR, Flash 9u1).

Frank Coelho de Alcântara deu a dica sobre coleção de scripts Ajax, que foi prontamente adicionada em atualização do meu artigo sobre Ajax em Java do dia 9.

Leonardo Marques cita a chegada do veloz e poderoso navegador Internet Apple Safari 3 (Beta Público) do MacOS X, agora também para Windows. Veja também a nota a respeito em TechTips. Segundo a Apple, Safari 3 carrega páginas até duas vezes mais rápido que Internet Explorer 7 e até 1,6 vezes melhor que Firefox 2.

O blog LedNerd comenta o lançamento do JRuby 1.0 Final de anteontem.

Pra finalizar, um post de ontem: Fernando Boaglio lista 10 plugins do Firefox que todo desenvolvedor deve ter. A maioria coincide com minhas indicações de ferramentas técnicas no artigo Extensões para o navegador Firefox.

É isso aí. Dá-lhe tecnologia!