Java bits

Para quem quer conhecer a linguagem de programação Scala, que incorpora recursos de linguagens orientadas a objetos e funcionais, a série de artigos The busy Java developer’s guide to Scala, por Ted Neward, no portal IBM developerWorks, continua a crescer. O mais recente artigo da série, Building a calculator, Part 1, publicado em 26 de agosto, exemplifica o uso de classes case e de casamento de padrões (patttern matching).

Scala é software de código aberto, requer JDK versão 1.4 ou superior e é plenamente interoperável com Java. Scala é a sucessora de Funnel, uma linguagem baseada em join calculus.

Para saber mais: Referências sobre Scala.


Ryan Lubke também vem postando uma série de artigos em seu blog, estes sobre as novidades do padrão JavaServer Faces 2.0 em desenvolvimento. O artigo mais recente é Practical example of the JSF 2.0 event system, de 11 de agosto.

A série JSF 2.0 New Feature Preview Series começa com Part 1: ProjectStage, em 14 de fevereiro. E prossegue: Part 2.1: Resources e Part 2.2: Resources, 2008-02-15 e -16; Part 2.3: Resources e Part 3: Publish/Subscribe Event System, ambos em 2008-06-23; Part 4: Resource Re-location, 2008-06-26; e Part 5: EDR1 Potpourri, 2008-07-25.

De quebra, você ainda pode entender melhor a diferença entre um runtime JSF e um conjunto de componentes JSF, no artigo Trinidad+Mojarra, 2008-04-04.

Para saber mais: Referências sobre Tecnologias Web Java EE.


Falando em JSF, em 28 de agosto ocorreu o lançamento do Apache MyFaces Orchestra Core versão 1.2. Orchestra é uma pequena biblioteca que pode ser usada em aplicações web Java para prover os seguintes recursos:

– Um escopo de conversação (dialog) para beans, contextos de persistência no escopo de conversação, anotações (Java 5+) para transação declarativa, e um componente JSF “dynaForm” que auxilia a criação de formulários para edição de dados persistentes.

Juntos, estes recursos facilitam o desenvolvimento de aplicações que realizam muita persistência, i.e., que são fortemente associados a banco de dados. Em particular, o componente dynaForm torna fácil construir formulários do tipo entrada de dados (data entry), similar aos recursos que ferramentas como Oracle Forms e Microsoft Access oferecem.


O lançamento do Oracle® Enterprise Pack for Eclipse foi tema de nota no DZone: Oracle Enterprise Pack for Eclipse Now Available, 2008-09-02. Este Enterprise Pack é um conjunto de plug-ins para Eclipse IDE certificados pela Oracle, voltados para um ambiente de desenvolvimento com suporte a padrões Java EE.

No Oracle Technology Network (OTN, requer registro gratuito) estão disponíveis os downloads para Eclipse 3.3 (Europa) e Eclipse 3.4 (Ganymede).

A Oracle também passou a oferecer o Oracle Workshop for WebLogic 10g R3 (antigo BEA Workshop) gratuitamente.


Não tem a ver com Java mas é um lançamento alardeado o Google Chrome, um navegador (borwser) feito para tornar a web mais rápida, fácil e segura com um design minimalista que não atrapalha o usuário.

Eis artigos sobre o tema: A fresh take on the browser, Blog Oficial do Google, 2008-09-01; Google Chrome – Shiny, but Sharp, 2008-09-02, por Colm Smyt; Google Chrome já é oficial e com versão em português, por Redação IOL Diário, 2008-09-02.

Já tem até artigo sobre a usabilidade do navegador, como em Usability Thoughts on Chrome, por Dmitry Fadeyev, 2008-09-02.

Boas blogadas Java e afins

EJB 3: Dead Or Alive? (em inglês), artigo por Adam Bien, 2008-08-22, em Javalloby DZone. Veja também Absolute Beginner EJB 3 / JPA Series – the Essential Bootstraps And Background Information, no Weblog de Adam Bien.

Why you should consider Tapestry 5 (em inglês), artigo por Joshua Java, 2008-08-21. Veja também a discussão do artigo em TheServerSide.COM. A versão 5.0.14 do framework open source de apresentação web Tapestry foi recentemente lançada e o Tapestry 5 está quase atingindo o nível de release estável (GA). A nova geração do Tapestry, criado e mantido pelo contundente Howard Lewis, vem se mostrando cada vez mais sólida e madura, buscando superar algum criticismo contra as mudanças profundas e quebras de compatibilidade retroativa introduzidas na evolução pelas versões 3, 4 e 5 do Tapestry.

JavaFX is Dead, Long Live JavaFX (em inglês), por Per Olesen, 2008-08-22, impressões sobre o Java FX Preview SDK, disponível para download gratuito.

CodeGear promove encontros on-line para desenvolvedores Java (em português), notícia por Paula Zaidan, 2008-08-20, em JavaFree. Durante dois dias (21 e 28 de agosto) de sessões on-line, gratuitas e em português, especialistas da companhia apresentam as novas funcionalidades do JBuilder 2008, no JBuilder Day América Latina. A divisão CodeGear pertencia à Borland e foi recentemente comprada pela Embarcadero.

Four harmful Java idioms, and how to fix them (em inglês) – Rewrite convention and optimize your code for maintainability. Artigo por John O’Hanley, 2008-07-29, em JavaWorld.com.

Spring Recipes: A Problem-Solution Approach, crítica de livro escrita por Meera Subbarao, 2008-08-21, em Javalobby DZone.

OpenXava 3.0.3: JPA Application Engine (em inglês), notícia por Javier Paniza, 2008-08-19. Veja mais sobre o OpenXava no site do projeto.

Jt – Java Pattern Oriented Framework (Jt 2.7), TheServerSide.COM. Veja também Jt Framework project em java.net.

Presentation: Future Directions for Agile, por David Anderson, 1h 32min;
Presentation: 10 Ways to Screw Up with Scrum and XP, por Henrik Kniberg, 1h 28min; ambas em inglês, em InfoQ, filmagem de apresentações realizadas durante o evento Agile Conference 2008.

7 Principles Of Clean And Optimized CSS Code (em inglês), artigo por Tony White, 2008-08-18, em Smashing Magazine.

13 hand-picked Vertical and horizontal CSS Menus (em inglês), por Developer Fox, 2008-08-20. Veja também Usando CSS para criar uma barra de abas, por Márcio d’Ávila, 2004-01-07, e referências em Componentes e Bibliotecas JavaScript e AJAX – Menu e Treeview HTML Dinâmico em JavaScript.

Oracle e BEA – estratégias futuras

Passados alguns meses da aquisição da BEA Systems pela Oracle, começam a ser definidas as primeiras estratégias concretas para o futuro das linhas de produtos e tecnologias servidoras baseadas em Java EE, as famílias BEA WebLogic e AquaLogic e a pilha Oracle Fusion Middleware.

O anúncio da aquisição ocorreu em 16 de janeiro deste ano, mas o processo de aquisição só foi efetivamente completado em 29 de abril, quando ocorreu a aprovação pela Comissão Européia.

No post Blogging the Oracle Fusion Middleware Strategy Webcast, em 1º de julho no OTN TechBlog, Justin Kestelyn apresentou um resumo da apresentação do Presidente da Oracle Charles Phillips no Webcast sobre Oracle e BEA.

Para começar, todos os produtos BEA vão continuar sendo suportados sob os mesmos prazos divulgados pela BEA anteriormente à aquisição, e não haverá uma política de migração forçada. Esta abordagem é similar à dos ERPs Apps Unlimited one, que segundo Charles resultou em uma taxa de renovação/permanência de 96% daqueles produtos. O suporte existente para Fusion Middleware será estendido por mais um ano.

Alguns produtos são “Estratégicos” e serão imediatamente incorporados à pilha Fusion Middleware, como o conteiner JEE líder de mercado BEA WebLogic Server (OC4J vai continuar também, por enquanto). Alguns são “Continuar e Convergir”, que terão algum redesenho com gradual integração à pilha; deve ser o caso de TopLink/JPA, Coherence, SCA e outras tecnologias. E outros são produtos identificados pela própria BEA anteriormente à aquisição como “Manutenção” e terão suporte mantido por pelo menos quatro anos.

Mais alguns pontos resumidos por Justin Kestelyn (tradução livre):

O direcionamento técnico é para continuar modularizando o Servidor de Aplicação de acordo com o modelo OSGi (ver OSGi Alliance Specifications).

Ferramentas: JDeveloper vai continuar sendo o IDE estratégico da Oracle, mas o BEA Workshop baseado em Eclipse vai continuar disponível, e agora gratuito como o JDeveloper; eventualmente Workshop deve ser tornar parte do Oracle Eclipse Pack.

SOA: todos os componentes vão continuar hot-pluggable; a plataforma combinada oferece ferramentas, middleware, governança e componentes integrados. Oracle ESB e AquaLogic ESB convergirão para o novo Oracle Service Bus.

Governança SOA: AquaLogic Enterprise Rep se tornará o repositório de governança SOA da Oracle; Oracle Service Registry vai continuar como UDDI registry.

BPM: Oracle deve combinar o BPM em um único runtime baseado no modelo de metadados BPEL/BPMN.

Gerenciamento: Enterprise Management Packs serão estendido aos produtos BEA; BEA Guardian será integrado ao Oracle Enterprise Manager.

JBossTools 2.1.2 para Eclipse

Aproveitando que falei do Eclipse 3.4 Ganymede há poucos dias, aproveito para atualizar outra dica.

Não deixe de adicionar ao Eclipse o pacote de plug-ins JBoss Tools, cuja versão atualizada 2.1.2 foi lançada dia 1º de julho. Os plug-ins são para quem desenvolve em Java EE web usando o servidor de aplicações JBoss AS e/ou frameworks da JBoss — Hibernate, Seam, RichFaces, Drools, jBPM.

Mesmo para quem não usa esses frameworks, o editor web visual RichFaces VE, com suporte gráfico a HTML, JSP e outros frameworks web, é complemento essencial ao Eclipse IDE, que ainda não oferece esse nível de sofisticação na edição web como parte do projeto nativo Eclipse Web Tools Platform (WTP).

Eclipse 3.4 Ganymede

Ganymede is here! Saiu hoje, conforme previsto, a versão final do Eclipse 3.4 Ganymede, o lançamento anual simultâneo da Fundação Eclipse de diversos projetos componentes do Eclipse IDE.

Desta vez foram 23 projetos, dois a mais que o lançamento simultâneo Eclipse 3.3 Europa em 2007.

Saíram AspectJ Development Tools (AJDT) e Dash (Eclipse Monkey), anteriormente presentes no Eclipse 3.3 Europa. Ficou de fora também o novo Device Software Development Platform – Native Application Builder (DSDP.NAB), inicialmente previsto para integrar o Ganymede, mas sua versão estável 0.9.9 pode ser baixada e instalada à parte.

Em compensação, o Ganymede trouxe quatro novos projetos no lançamento simultâneo: Eclipse Packing Project (EPP) 1.0, Model to Model (M2M) 2.0, Rich Ajax Platform (RAP) 1.1 e Subversive 0.7.1.

O download dos pacotes disponíveis pode ser feito em Eclipse Downloads. Compare e veja Todos os Pacotes Ganymede disponíveis para baixar.

Para saber mais:

Novidades IDEs Java gratuitos

[photopress:eclipse_ganymede.png,full,alignleft_caixa]

Os três principais IDEs Java gratuitos que acompanho são assunto recorrente aqui no blog: Eclipse, NetBeans, JDeveloper.

Em 2 de junho foi disponibilizado o Release Candidate 2 do Ganymede, lançamento simultâneo de projetos — 24 ao todo — para o Eclipse 3.4. O lançamento da versão oficial está programado para o dia 25 próximo.

Como falei em meu artigo Pré-estréias: Eclipse Ganymede e Firefox 3, o lançamento Ganymede 3.4 inclui a Rich Ajax Platform (RAP) e o suporte ao controle de versão Subversion (SVN) com o Subversive. Há também o o Device Software Development Platform (DSDP) Native Application Builder (NAB), framework similar a SWT and JFace, porém escrito e projetado para construção de GUI em C++.

O projeto de empacotamento Eclipse Packing Project (EPP), agora também integrado no Ganymede, criou uma nova página de download de pacotes para o Ganymede. Pacotes do Eclipse 3.4 RC2 (e da futura versão final) podem ser baixados nessa página.

[photopress:netbeans_ide_6.1_multilingual.jpg,full,alignright_caixa]

Sobre o NetBeans, em 30 de maio foram lançadas as principais versões traduzidas do NetBeans IDE 6.1, que incluem Português do Brasil, Chinês e Japonês, além do idioma original Inglês. Basta selecionar o idioma desejado na página de download e selecionar o pacote NetBeans IDE para o perfil desejado.

[photopress:oracle_jdeveloper.gif,full,alignleft_caixa]

E por fim, o Oracle JDeveloper. Embora ele seja mais popular em ambientes que utilizam o servidor de aplicação e outras tecnologias Oracle relacionadas, JDeveloper é uma opção de IDE gratuito (embora não software livre) bastante poderoso e abrangente para uso geral em tecnologia Java.

A nova versão 11g do ambiente está em fase final de beta/estabilização. Oracle JDeveloper 11g Technology Preview 4 – (Build 4949) foi liberado em 2 de maio e está disponível para baixar no portal OTN (requer registro gratuito), com ou sem JDK incluso.

A Oracle ainda disponibiliza a seção Java Developer Center no portal OTN, recheada de artigos, tutoriais, códigos e dicas sobre tecnologia Java em geral e sobre recursos dos produtos e ferramentas Oracle para Java, como o JDeveloper, OC4J e Oracle ADF.

A Oracle também participa da Fundação Eclipse e apóia e lidera diversos projetos Eclipse, principalmente em recursos voltados para a plataforma Java EE. Veja o release Oracle Extends Oracle Fusion Middleware Developer Tools with Oracle Enterprise Pack for Eclipse para mais informações.

Brasil em destaque

É sempre motivo de alegria e orgulho para mim, profissional brasileiro de informática, ver o Brasil em destaque positivo na mídia internacional especializada.

Assim li com muito gosto e o artigo Java and Free Software in Brazil – Bridging the digital divide (em inglês), por Patrick Curran, 2008-05-30, no Java Developers’ Journal.

O autor apresenta elementos da posição de destaque do Brasil nas comunidades de software livre e de tecnologia Java no mundo.

São lembrados o recente evento International Free Software Forum (FISL) ocorrido em Porto Alegre, o apoio governamental ao software livre e a crença nele como modelo de inclusão digital.

Também é destacado o grande grupo de usuários Java brasileiro SouJava, com mais de 18 mil participantes e sendo o primeiro JUG a integrar o JCP em 2005, de onde saiu o evangelista Java brasileiro “JavaMan” Bruno Souza para atualmente ocupar na Sun Microsystems o papel de coordenador mundial da comunidade NetBeans.

Voltando às iniciativas governamentais, o artigo ainda cita a parceria anunciada do SBTVD com a Sun para o desenvolvimento de uma plataforma livre baseada em Java de conteúdo e serviços para televisão digital (DTV) e a crescente adoção de Java nos órgãos governamentais para desenvolvimento de software que leva serviços aos cidadãos, destacando em especial o sistema de automação do SUS, sistema brasileiro de saúde.

Só fica o pesar em saber que mesmo com tanta força da comunidade de TI brasileira em Java e software livre, isso não gera proporcional reflexo no peso do mercado de software brasileiro e, principalmente, na exportação de produtos e serviços de software brasileiros. Aí o Brasil fica atrás de países como a Índia. Especialistas costumam apontar o baixo domínio da língua inglesa como um dos ingredientes faltantes.

Vamos praticar mais o inglês, profissionais de TI do meu Brasil! O mundo todo é um campo aberto. Que tal começar praticando a leitura do artigo no JDJ hoje?

Para saber mais:

Pré-estréias: Eclipse Ganymede e Firefox 3

Dois grandes projetos de software livre estão próximo do lançamento de nova versão em fim de junho: Eclipse IDE e navegador Firefox. Ambos entraram agora em fase final de desenvolvimento, passando de Beta a Release Candidate (candidato a lançamento final).

O Firefox 3 (codinome Gran Paradiso) lançou seu Release Candidate 1 em 16 de maio. É baseado no mecanismo de renderização web Gecko 1.9, em desenvolvimento nos últimos 33 meses. Com mais de 14.000 atualizações desde a versão anterior, o Gecko 1.9 inclui uma profunda revisão de sua arquitetura para prover melhores desempenho, estabilidade, precisão e simplicidade.

Testes preliminares nas versões beta do Firefox 3 vêm mostrando que ele está muito mais rápido, principalmente na execução de JavaScript. Também está mais estável e eficiente no uso de memória. E a nova versão do mecanismo Gecko utilizado promete resultar em um navegador mais seguro, mais fácil de usar e mais personalizável.

A Fundação Mozilla continua em sua marcha rumo ao JavaScript 2.0 (padrão ECMAScript Edition 4).

Veja novidades do Firefox 3 e as Notas da versão do Firefox 3 RC1 (em inglês). Baixe o Firefox 3 RC1 (Windows, Mac OS X e Linux, em Português do Brasil e dezenas de outros idiomas).

Enquanto o lançamento oficial do Firefox 3 está previsto para o final de junho, já há planos para a atualização Firefox 3.1 até o final de 2008.

Em 13 de maio houve o anúncio do IDE Eclipse 3.4 Ganymede M7. Ganymede (nome, em inglês, de uma das luas de saturno descobertas por Galileu) é o codinome do lançamento coordenado e simultâneo de diversos projetos para a Plataforma Eclipse versão 3.4. Este Milestone 7 pode ser considerado o Release Candidate 0 (RC0), depois do congelamento de API ocorrido no M6.

Com lançamento final previsto para 25 de junho próximo, o Eclipse Ganymede 3.4 prevê a integração de pelo menos 24 projetos da Fundação Eclipse, pouco mais que os 21 do lançamento anterior Eclipse Europa 3.3. Entre os novos projetos englobados, estão Eclipse Packing Project (EPP), Rich Ajax Platform (RAP) e o suporte ao controle de versão Subversion (SVN) com o Subversive.

O projeto de empacotamento do Eclipse, EPP, está elaborando uma nova página de download de pacotes para o Eclipse 3.4, que já pode ser usada para o download do Ganymede M7.

O Eclipse vem perdendo força com a evolução rápida do projeto livre concorrente NetBeans. A versão mais recente deste é o NetBeans IDE 6.1, cada vez mais rico e poderoso em recursos e fácil em instalação e uso. Vejamos o que o Eclipse 3.4 trará em contrapartida.

Melhores ferramentas Java que você nem sabia que existiam

Jakub Korab postou no dia 12 passado, em Javalobby, uma listagem comentada muito interessante chamada The Best Java Tools You Never Knew Existed, ou “As melhores ferramentas Java que você nem sabia que existiam”.

Muito útil, vale a pena a ler e conhecer as ferramentas que você eventualmente ainda não conheça. O post apresenta links para todas as ferramentas listas.

Por falar nisso, eu mantenho listagens de Ferramentas de Software e de Bibliotecas e APIs para Java em meu site de referências Márcio’s Hyperlink, ambas organizadas em sub-categorias. Apesar de minha coletânea ser bem mais ampla, depois que li o artigo citado, vejo que tenho algumas novidades para acrescentar lá.

Scala

Terminou dia 9 nos Estados Unidos o JavaOne 2008, maior evento Java mundial, e as novidades e reflexões sobre o universo Java decorrentes desta conferência ainda devem ecoar em artigos de portais, blogs e revistas nas próximas semanas.

Chamo a atenção para uma nota curta postada pelo Java Champion Adam Bien, durante o evento no dia 8, da qual faço uma tradução livre aqui:

Durante um painel no Comunity Corner [do JavaOne] (java.net booth) com James Gosling, um participante lhe perguntou uma questão interessante: “Qual linguagem de programação você usaria *agora* sobre a JVM, exceto Java?”. A resposta foi surpreendentemente rápida e muito clara: – Scala.

Scala é uma linguagem de programação que incorpora recursos de linguagens orientadas a objetos e funcionais. A implementação de Scala é software livre de código aberto e roda sobre a JVM (JDK 1.4 ou superior), sendo interoperável com Java.

O paradigma de programação funcional, que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis [Wikipédia] — baseado na teoria do cálculo lâmbda –, tem começado a ganhar evidência como tendência no meio acadêmico e na mídia técnica especializada.

Talvez por isso a escolha de Gosling por Scala, que incorpora programação funcional, tenha sido tão imediata. Alternativas existentes de linguagem de programação para a JVM atualmente, além de Java e Scala, incluem Groovy, JRuby (Ruby) e Jython (Python).

Um bom artigo introdutório sobre programação funcional é Functional Programming For The Rest of Us (em inglês), 2006-06-19, em defmacro.

E no tópico Outros Ambientes e Linguagens JVM em meu site de referências você encontra mais links úteis, inclusive a série de artigos Roundup: Scala for Java Refugees, recomendado por Ron Francis para quem quer transitar de Java para Scala, um caminho suave segundo Joel Neely.

Para quem começar a programar em Scala, é bom saber que há um Scala Plugin para Eclipse 3.3. E um plug-in Scala para NetBeans 6 está a caminho, sendo desenvolvido por Caoyuan Deng.

Para saber mais: