pátek 23. března 2007

ORM podcast speciál

Vše co jste chtěli vědět o ORM, ale báli jste se zeptat. Kdo by se v dnešní době nesetkal s názvy a zkratkami jako ORM (Object To Relation Mapping), JPA (Java Persistence API) a nebo Hibernate. V dalším podcastu jsme připravili 90 minut pouze a jenom o této problematice viz níže uvedený okruh témat. Na náhrávání se podíleli dva speciální hosté, Lukáš Křečan za Hibernate a Martin Krajčí za JPA.

Probiraný okruh témat

  • historie popis zakladnich pojmu
    • evoluce z JDBC a SQL k o ORM a OQL
      • co znamena ORM
        • zakladni myslenka (proc ORM)
        • mapovani
        • typy vazeb (zpusoby vyjadreni objektoveho grafu nad relacnim modelem)
        • zpusob zapisu (anotace, XML)
      • OQL (dotazovaci jazyk pro ORM)
        • vysvetleni rozdilu mezi SQL a OQL
        • zakladni interakce
        • API (session/entity manager)
  • podpora v a mimo J2EE stack
    • standardizovana - JPA
      • zakladni info
    • proprietarni - Hibernate
      • zakladni info
    • transakce
      • JTA
      • lokalni
    • pouziti mimo aplikacni server v ramci SE
    • srovnani JPA a Hibernate
      • standardy starnou mnohem rychleji, Hibernate se neustale vyviji
      • standardy by meli byt lepe prenositelne
      • Hibernate svazany s JBossem (Red Hat nemusi investovat do R&D)
      • ...
    • reseni zakladnich problemu
      • zamykani zaznamu (oprimistic vs pesimistic lock)
      • HTTP challenges
        • attach/detach objektu
        • dostupnost neinicializovanych vazeb v UI (Open session in view)
  • vyhody/nevyhody ORM
    • learning curve
    • dostupne nastroje
    • prenostilenost aplikaci postavenych na JPA
    • rychlost oproti plain SQL
      • N+1 problem
      • second level cache
    • testovatelnost (unit a integracni testy)