Pesquisando, encontrei o Jackson [url]http://jackson.codehaus.org/[/url], que gera os objetos json baseado nas anotações jaxb.
Eu cheguei a criar um projeto demo usando JSF+Spring+Jersey(jaxb+jax-rs), deu um pouco de trabalho juntar tudo, mais até o momento deu certo, mais ainda não ficou como eu gostaria que ficasse.
a implementação que faço para gerar os recursos são simples: O dominio
@Entity
@XmlRootElement(name = "person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person implements Serializable {
//atributos e getters e setters
}
//o Recurso
@Path("/person")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public class PersonResource {}
Nesse caso eu tenho os recursos rest, mais não tenho as uris bonitinhas para acesso na aplicação, até tem como fazer isso com o jsf usando o [url]http://ocpsoft.com/prettyfaces/[/url], mais já esta ficando muita configuração para ser usada.
Pra se ter ideia para acessar os recursos rest e as paginas jsf, tenho que ter uris diferentes, nesse caso para acessar uma pagina pessoa.jsf por exemplo eu faria assim:
www.aplicacao.com.br/person.jsf
já para acessar os recursos faço assim:
www.aplicacao.com.br/rest/person
Faço isso por causa de conflitos das tecnologias, se eu acessar o recurso e a pagina jsf na mesma uri, não acontece nada, simplesmente me aparece uma pagina em branco.