persistência

Saudações,
Caros amigos,

Comecei o estudo para elaborar minha monografia e escolhi como tema, Hibernate.
Tenho feito buscas na Internet mas não tenho encontrado respostas as minhas dúvidas, então peço aos amigos que me auxiliem neste dilema.

Gostaria muito que dissernassem sobre as quetôes abaixo e que a discussão fosse a mais aprofundada possível para que pudesse preencher as lacunas. E ficaria profundamente feliz se os caros inidicassem referencias de leituras para sedimentar as opiciôes e poder dar continuidade ao trabalho e prover um bom documento para a comunidade e dar um feedback futuro.

São elas:

  1. O que é uma API Intrusiva ?

  2. Por que é necessário um servidor de Aplicação ao adotarmos CMP ?

  3. A versão 3.0 do EJB ainda pode ser considerado como um CMP/CMR ?

  4. O padrão JDO não precisa de Servidor, mas se integra bem a alguns. Novamente não entendo esse relacionamento (padrão-servidor de aplicação).

  5. NO JDO a API não é intrusiva. Ok! Isso poderei entender com a resposta da 1… Mas então afirmas que nesta caso o padrão faz manipulação de bytecodes ou pré-processamento.
    Como é essa manipulação ou processamento ? Para que servem ? Qual a
    vantagem/desvantagem sobre a API Intrusiva?

  6. O Hibernate ganhou espaço entre outra coisas pelos problemas dos
    demais. Mas agora com as versões 3.0 do EJB e 2.0 do JDO isto não está
    ameaçado ?

  7. O Hibernate fora incorporado ao JBoss 4.0 como base do mecanismo de
    CMP/CMR.
    Não entendo o fato de “base do mecanismo de CMP/CMR.”. Por favor
    disserne sobre.

  8. Hibernate e JDO trabalham com grafo de objeto. O que seria isso ? para que serve ? por que isso é melhor que fazer join no SQL e tornando OQL melhor como linguagem de consulta ?

Agradeço muito a todas as respostas e ajudas !

PS.: Estou providencias mais um bloco de dúvidas e acho que no final será uma boa referencia de estudo…

Um gande abraço a todos!!!

PS.: Sou ciente que todos nós sofremos do mal do nosso tempo. Muito
trabalho e pouco tempo pessoal. Mas peço-lhe que olhe com carinho para
minha solicitação, pois vem de alguém que quer muito aprender e aceito
toda a ajuda. Gosto muito das suas explanações, pois as acho, práticas
sem comprometerem a teoria e quase sempre nos evite percorrer jornadas
já traçadas.

Agradeço antecipadamente sua atenção, carinho e ajuda!


Alessandro Moreira
Java Programmer Trainee
alessandro.moreira@aspec.com.br
alessandro.moreira@gmail.com
Grupo Aspec S/C Ltda
http://www.aspec.com.br

Que tal ler ao menos um livro sobre os assuntos sobre os quais você vai escrever? Muitas destas dúvidas serão respondidas, as que restarem a prática vai te trazer.

Recomenda algum livro ae…

Se puder entrar no rolo algum livro que ensine abstrair persistencia de uma forma legal a usar repositories e tal seria uma boa…

Mesmo nao sendo dos melhores, “Hibernate in Action”

Outros textos muito bons que eu leio frequentemente:
www.google.com: ejb specification
www.hibernate.org: javadocs e pdfs
www.google.com: jdo specification

[quote=alessandro.moreira]Saudações,
Caros amigos,

Comecei o estudo para elaborar minha monografia e escolhi como tema, Hibernate.
Tenho feito buscas na Internet mas não tenho encontrado respostas as minhas dúvidas, então peço aos amigos que me auxiliem neste dilema.

Gostaria muito que dissernassem sobre as quetôes abaixo e que a discussão fosse a mais aprofundada possível para que pudesse preencher as lacunas. E ficaria profundamente feliz se os caros inidicassem referencias de leituras para sedimentar as opiciôes e poder dar continuidade ao trabalho e prover um bom documento para a comunidade e dar um feedback futuro.

São elas:

  1. O que é uma API Intrusiva ?

  2. Por que é necessário um servidor de Aplicação ao adotarmos CMP ?

  3. A versão 3.0 do EJB ainda pode ser considerado como um CMP/CMR ?

  4. O padrão JDO não precisa de Servidor, mas se integra bem a alguns. Novamente não entendo esse relacionamento (padrão-servidor de aplicação).

  5. NO JDO a API não é intrusiva. Ok! Isso poderei entender com a resposta da 1… Mas então afirmas que nesta caso o padrão faz manipulação de bytecodes ou pré-processamento.
    Como é essa manipulação ou processamento ? Para que servem ? Qual a
    vantagem/desvantagem sobre a API Intrusiva?

  6. O Hibernate ganhou espaço entre outra coisas pelos problemas dos
    demais. Mas agora com as versões 3.0 do EJB e 2.0 do JDO isto não está
    ameaçado ?

  7. O Hibernate fora incorporado ao JBoss 4.0 como base do mecanismo de
    CMP/CMR.
    Não entendo o fato de “base do mecanismo de CMP/CMR.”. Por favor
    disserne sobre.

  8. Hibernate e JDO trabalham com grafo de objeto. O que seria isso ? para que serve ? por que isso é melhor que fazer join no SQL e tornando OQL melhor como linguagem de consulta ?

Agradeço muito a todas as respostas e ajudas !

PS.: Estou providencias mais um bloco de dúvidas e acho que no final será uma boa referencia de estudo…

Um gande abraço a todos!!!

PS.: Sou ciente que todos nós sofremos do mal do nosso tempo. Muito
trabalho e pouco tempo pessoal. Mas peço-lhe que olhe com carinho para
minha solicitação, pois vem de alguém que quer muito aprender e aceito
toda a ajuda. Gosto muito das suas explanações, pois as acho, práticas
sem comprometerem a teoria e quase sempre nos evite percorrer jornadas
já traçadas.

Agradeço antecipadamente sua atenção, carinho e ajuda!


Alessandro Moreira
Java Programmer Trainee
alessandro.moreira@aspec.com.br
alessandro.moreira@gmail.com
Grupo Aspec S/C Ltda
http://www.aspec.com.br[/quote]

vou respoder algumas perguntas de forma sucinta

1- api intrusiva é aquela que deixa seu codigo muito dependente dela… por exemplo: ter que extender, implementar interfaces, ou manipular muitos objetos da api.
um exemplo contrario pode ser o spring, no caso o framework as vezes é pouquissimo intruviso, ou seja, voce usa ele mas quase nao ve coisas dele espalhadas no codigo

2- EJB entity beans CMP é uma especificação apenas. É necessario um AS (application server) porque quando voce faz um deploy de um EJB cmp o container EJB pega as suas classes e gera codigo para que todas aquelas vantagens dos EJB´s funcionem, resumindo: o AS que gera classes a partir do seu codigo para atender os requisitos da especificação CMP

3- sim, porque não? hehe

4- JDO nao precisa de AS mas precisa de alguma coisa que implemente a especificação… mas nao tem nada a ver com um AS

5- ele faz coisas sem que voce saiba para atender suas necessidades, essa é a vantagem… o seu codigo é bem mais basico do o que ele gera a partir do seu. por isso ele é menos intruviso… voce quase nao ve coisas de JDO pelo seu codigo, ou vem muito menos doq se usasse outra solução de persistencia

6- só o tempo dirá

7- tipo, a grosso modo irao implementar o EJB 3.0 usando coisas que ja foram feitas no hibernate (reuso de código… a grosso modo)

8-gravo de objetos sao os objetos e as relacoes entre eles…

espero ter ajudado!! mas po… da uma estudada rapaz! aheuhua

corrijam-me se eu me equivoquei em alguma informação

Phillip Calçado, desculpe se meu tópico lhe ofendeu. Sei que muitos na comunidade dão o sangue para aprender Java e afins. Muitos abidicam muitas coisas, como tenho um amigo que perdeu o casamento devido as horas e horas de estudo.

Porém, não é porque muitos passaram por isso, que todos o tenham. Eu mesmo muitas vezes gastei finais de semana, para depois mastigar e passar o conhecimento, nem por isso sai atirando… Dentro de minha esperiência ensiando vejo quanto é gratificante porder ajudar no crescimento de outrens.

Estou lendo bastante, Revista especializadas, sites, participando de palestras locais e web e no momento lendo: “Hibernate in Action” como livro base, conjuntamente com EJB3 especification.

Espero poder contar com o seu conhecimento e como a própria OO dita, não precisar reinventar a roda. Näo quero deixar de percorrer o caminho só quero o fazer mais suavemente. Não tenho vergonha de dizer, pois sei do esforço que estou tendo e do nível de solidez que quero ter.

Agradeço pela crítica e peço que coloque suas opiniões sobre o assunto, pois estas estaram disposíveis para demais no futuro poderem pesquisar e ajudar.

Ubuntu - Humanidade para todos…

Alessandro,

boas perguntas.

Com relação a esta: Muito pelo contrário. A Java EE 5 tem uma nova especificação debaixo do guarda-chuva (Long-Term Persistence for JavaBeans Specification). Como o Hibernate é a implementação mais conhecida dela, ele nunca teve tanta força quanto agora. Por isso, o JBoss 4 não perdeu tempo e já dotou o Hibernate como solução de persistência.

Segue um bom material para vc analisar:

Especificação Java EE 5
http://jcp.org/en/jsr/detail?id=244

Long-Term Persistence for JavaBeans Specification - Java Platform, Enterprise Edition 5 (Java EE 5) Specification
http://jcp.org/en/jsr/detail?id=57

Java Data Objects 2.0 - An Extension to the JDO specification
http://jcp.org/en/jsr/detail?id=243

Faltou uma…

Enterprise JavaBeansTM 3.0
http://jcp.org/en/jsr/detail?id=220

Taz,

Obrigado, ainda não tinha lida nada sobre essa especificação. vai caber direitinho no que estou planejando escrever.

Obrigado!