Arquivo

Arquivo da Categoria ‘Java EE’

Objectify, uma ótima pedida para o Google App Engine

19, janeiro, 2011

Boa tarde Queridos Leitores.
Eu sei que faz tempo, mas estou aqui postando depois de tantos meses.
Estou vivo, obrigado pela preocupação (tudo bem… ninguém perguntou nada, mas eu gosto de me sentir lembrado as vezes).

Como ninguém sabe, corrigindo, alguns sabem… A programação agora passou a ser apenas um Hobby.
Não estou mais trabalhando com programação, tenho saudades do meu tempo de analista, snif snif.

Mas vamos ao assunto, afinal essa budega não foi feita para falar da minha vida pessoal e ela tão pouco interessa a você, eu sei :)

A tecnologia que venho apresentar e sugerir seu uso é o Objectify. Também vou deixar uma dica de um código que me facilitou bastante as coisas.

Mas para que serve? Da onde veio? Porque usar isso?

Então, vamos a mais história pessoal (hoje to me sentindo um blogueiro.. haha).
A um tempo venho projetando um sistema para uns controles pessoais, queria que fosse na web e ai surgiu um problema chato, CUSTOS R$$$ (falando nisso, já deu uma olhada nos anúncios? Grato)!
Foi querendo driblar esses CUSTOS que eu decidi utilizar o Google App Engine/J (GAE), que me disponibilizou um ambiente free.
Só que, o GAE não utiliza base de dados com a arquitetura SGBD a qual a maioria de nós estamos acostumados a trabalhar, ele utiliza uma arquitetura chamada BigTable, fazendo com que os frameworks de persistência sejam um pouco diferentes.

Ai você vai falar: Ah, mas você pode utilizar JPA com o GAE.
E eu respondo: Pelo meu uso, pelas minhas pesquisas, eu digo que o JPA no GAE é uma dor de cabeça do cão. As coisas tendem a não funcionar como o esperado.

E nessas pesquisas eu encontrei o Objectify, um framework de persistência de muito fácil instalação e bem simples de ser utilizado.

Como Instalar? Como utilizar?
Você pode encontrar todas essas informações no site oficial do projeto:
http://code.google.com/p/objectify-appengine/

E caso surgir alguma dúvida, pergunte aqui pra podermos trocar algumas experiências.

Então, quando você começar a utilizar o Objectify você vai ver que as relações entre as tabelas aqui não podem ser mapeadas assim:

 
public class Motor {
...
}
 
public class Carro {
...
private Motor motor;
...
}

Você precisa utilizar uma Key, no exemplo deveríamos utilizar Key motor.
A classe Carro agora ficaria assim:

public class Carro {
...
private Key<Motor> motor;
...
}

Com essa key você consegue recuperar a real instancia de Motor utilizando o método get(class, id).
Mas fica um tanto chato ter que fazer isso a toda hora. Então eu pensei e comecei a fazer isso nas minhas classes:

public class Carro {
...
private Key<Motor> motorId;
@Transiant private Motor motor;
 
public Motor getMotor() {
	if (this.motor == null && motorId != null) {
		Motor motor = new Motor();
		motor.setId(motorId.getId());
		this.motor = MotorDAO.get(motor.getClass(), motor.getId());
	}
	return this.motor;
}
 
public void setMotor(Motor motor) {
	this.motor = motor;
	if (motor != null && motor.getId() != null) {
		this.motorId = new Key<Motor>(Motor.class,
				motor.getId());
	}
}
...
}

E até agora tudo ta funcionando belezinha! Posso fazer referencia diretamente nas EL do JSF e zaz.

Então essa seria minha dica de hoje.

PS: Como minha aplicação ainda não esta em produção, tão pouco ta fazendo coisas complexas, pode ser que esse código passe a não funcionar, mas nada que um jeitinho brasileiro não resolva ;)

É isso pessoal, espero que seja útil a você.
Abraço,
Vanio Meurer (vaninhO).

Vanio Meurer Java EE , , ,

EasyFaces – Apresentação do projeto

30, novembro, 2009

Bom dia povo,

a apresentação do projeto EasyFaces como escrevi no post anterior ocorreu no dia 23/11.
A mesma foi realizada para a defesa do nosso grau de Bacharel em Sistemas de Informação pela Universidade do Sul de Santa Catarina (UNISUL).
Fomos orientados pelo professor Edjandir Correa Costa (MSc.), nossa banca foi composta pelos Srs. Max Roberto Pereira (Dr.), Luiz Alfredo Soares Garcindo (Dr.) e Cássio Nandi Citadim.

Acho que a apresentação ficou bem legal, você pode conferir no video abaixo:

EasyFaces – Pacote de Componentes JSF from EasyFaces on Vimeo.

Os slides tambem estão dispostos a seguir:

Já recebemos alguns contatos pelo site, alguns parabenizando e outros reportando algum tipo de comportamento inesperado. Todos serão considerados e quando necessário corrigidos nas versões posteriores.

Vale ressaltar que é de suma importância que você de seu feedback sobre o projeto, para sabermos por onde seguir e facilitarmos a vida de mais alguns desenvolvedores (como nós) :)

Não esquecendo também que a idéia é liberar o código fonte do projeto para que mais pessoas também possam ajudar no desenvolvimento e amadurecimento do projeto.

Acho que seria isso, agradeço pelas mensagens de apoio e com o decorrer do projeto venho postar as novidades por aqui.

Vânio Meurer (vaninh0)

Vanio Meurer EasyFaces, Java EE , ,