Arquivo de Abril de 2007
MGJUG TEchDays - Palestra Sobre Integração, SOA e a Plataforma Java
Hoje (19/04) está ocorrendo o MGJUG Tech Days, evento técnico organizado pelo grupo de usuário de Java de Minas Gerais (MG-JUG).
Apresentamos uma palestra neste evento, sobre integraçào de sistemas, arquitetura SOA e a plataforma Java. Esta palestra está disponível em anexo aqui para download.
Sem comentários »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:
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:
- Projeto Eclipse AloMundoJPA
- Tutorial AloMundoJPA - Guia passo a passo para usar o projeto AloMundoJPA e executá-lo.
Informações complementares sobre o JPA podem ser achadas aqui:
- JPA FAQ
- Oracle TopLink JPA Annotations:
- JBOSS Hibernate Entity Manager
- Solar Metric KODO Reference Guide
- Hibernate JPA QL
- Exemplo Mestre Detalhe JPA
- Introdução a Mapeamento Objeto Relacional