Marco Mendes´s Blog

Artigos, Comentários e Opiniões sobre Engenharia de Software, SOA e Tecnologias Java

Arquivo da categoria ‘Java SE’

A Nova Lua de Júpiter vai aumentar a sua produtividade - Parte 2

Europa foi uma das várias mulheres de Zeus (Júpíter) na mitologia greco-romana. Em homenagem ao planeta, a segunda maior lua de Júpiter foi batizada de Europa.

Europa também é o nome do novo projeto Eclipse, assim como Callisto (outra lua de Júpiter e outra de suas mulheres), compilação de uma linha de base com 11 projetos no Eclipse 3.2.

Seguindo a idéia do projeto Callisto, o Eclipse continua em um processo de coordenação de múltiplos projetos em um linha de base cada vez mais madura e profissional. Neste lançamento, temos 21 projetos compilados em uma linha de base sobre o Eclipse 3.3.

Os projetos são:

  • AspectJ Development Tools (AJDT) 1.5
  • Business Intelligence and Reporting Tools (BIRT) 2.2.0
  • Buckminster 0.1.0
  • C/C++ Development Tools (CDT) 4.0
  • Data Tools Platform (DTP) 1.5
  • Device Software Development Platform - Device Debugging (DSDP.DD) 0.9
  • Device Software Development Platform - Target Management (DSDP.TM) 2.0
  • Dynamic Languages Toolkit (DLTK) 1.0
  • Dash (Eclipse Monkey) 1.0
  • Eclipse Communication Framework (ECF) 1.0.0
  • Eclipse Platform, JDT, PDE and Equinox 3.3
  • Eclipse Modeling Framework (EMF) 2.3
  • Eclipse Modeling Framework - Query, Transaction, Validation (MQ, MT, VF) 1.1
  • Graphical Editing Framework (GEF) 3.3
  • Graphical Modeling Framework (GMF) 2.0
  • Model Development Tools (MDT) 1.0
  • Model to Text (M2T) - JET 0.8
  • Mylyn 2.0
  • SOA Tools Platform (STP)
  • Test and Performance Tools Platform (TPTP) 4.4
  • Web Tools Platform (WTP) 2.0

Sem dúvida, a grande vedete deste lançamento é o WTP 2.0 (Web Tools Platform), que traz importantes ferramentas visuais para suporte a JPA , JSF e projetos completos Java EE 5.0. Temos, por exemplo, um editor visual drag and drop para JSF.

Apesar disto, faço minhas apostas em outros projetos que ainda não tem tanta expressão, mas que prometem bastante.

  • STP - SOA Tools Platform - Embora ainda em processo de maturação (0.6), este projeto irá ofertar uma infra-estrutura para o desenvolvimento de projetos de arquiteturas orientadas por serviço. Esta versão inicial traz já uma amostra do potencial do Eclipse para suporte a SOA.
  • MyLyn - Um projeto simples, mas excepcionalmente interessante. O MyLyn é uma ferramenta para micro-gerência de projetos e sucede o projeto Mylar, do qual escrevi um blog aqui há algum tempo. O MyLyn permite que uma pessoa controle o tempo gasto nas suas tarefas ou nas tarefas do seu time, bem como fazer o controle de ciclo de vida de atividades, defeitos, melhorias e outros tipos de ocorrências, integrado ou não a itens de configuração do Eclipse (códigos, arquivos, modelos e outros elementos de projetos). O MyLyn deve permitir que desenvolvedores, líderes técnicos e mesmo gerentes consigam implementar conceitos de gerência e agile management de forma bastante transparente e não intrusiva.
  • ECF - O Eclipse Communications Framework traz para o Eclipse ferramentas colaborativas, mensagens e comunicação ponto a ponto. Ele segue uma tendência da tecnologia Jazz, que promete revolucionar a forma como times colaboram para desenvolver projetos. Mais informações sobre o ECF podem ser achadas aqui, embora esta tecnologia ainda deve se tornar mais estável (assim como o STP) na versão Eclipse 2008, chamada Ganimedes.

Mais informações sobre o Europa podem ser achadas aqui:

  • Página principal: http://www.eclipse.org/europa
  • Revisões: http://www.eclipse.org/europa/europareviews.php
  • Personalização do Europa: http://www.eclipse.org/downloads/moreinfo/custom.php

Quem é Ganimedes? Mais uma mulher de Zeus? Em verdade, Ganimedes era um cara, mas Zeus não perdoava ninguém e se apaixonou por ele (Wiki-Ganimedes). Em tempo, Ganimedes também é mais uma lua de Júpiter. Em 2008 escrevo um blog sobre ele!

1 comentário »

O Modelo Unificado para os Frameworks de Persistência em Java - JPA

Os frameworks de persistência em Java SE e Java EE surgiram há quase 7 anos, com o surgimento do modelo de Entity Beans. Embora este modelo tenha sido bastante evoluído da sua versão inicial (1.0) até a sua versão 2.1, este modelo sempre foi alvo de muitas críticas. Neste meio tempo, outros frameworks surgiram e dominaram o mercado. Exemplos destes frameworks incluem o:

O Hibernate, em particular, adquiriu grande popularidade e hoje (2007) é o framework de persistência mais popular na comunidade Java no Brasil. Um problema do Hibernate, no entanto, é que este não é um especificação Java, i.e., uma JSR no JCP. O uso de padrões JSR é um excelente prática na escrita de aplicações Java, pois garante independência de fornecedores.

Uma nova especificação, lançada no Java EE 5.0, promete unificar todas estas implementações e criar realmente um padrão para persistência objeto relacional em Java. O JPA (JSR 220) é parte da especificação EJB 3.0, mas pode também ser utilizado em aplicações Java padrão (Java SE).

A arquitetura do JPA, em alto nível, é mostrada na figura abaixo:

Arquitetura JPA

Uma aplicação Java qualquer (SE ou EE) que use o JPA não fica mais amarrada a soluções de fornecedores (mesmo que de código aberto), como o Hibernate ou o TopLink. Ao invés, o código usa apenas uma especificação Java padrão JCP.

Para usar o JPA, é necessário escolher um provider JPA (implementação da pilha JPA). Isso pode ser feito com bastante facilidade, através da edição de um arquivo XML.

O modelo de persistência do JPA foi baseado fortemente no Hibernate e é baseado na anotação de classes Java tradicionais (POJO). Um exemplo simples é colocado abaixo:


@Entity
public class Pessoa {
@Id
public Long id;
public String primeiroNome;
public String nomeDoMeio;
public String ultimoNome;
}

A configuração de um projeto JPA é simples. Em anexo a este artigo, disponibilizamos dois arquivos:

Informações complementares sobre o JPA podem ser achadas aqui:

4 comentários »

Livros Técnicos de Java SE e EE

Publiquei no site da Amazon uma lista de livros para o desenvolvedor que queira aprender sobre Java SE e EE. Adicionei para cada livro alguns comentários e observações da nossa experiência de sala de aula e do mundo real sobre como estudantes e profissionais aprendem Java.

A lista completa está aqui:

Sem comentários »