DataNucleus parte 4 - Primeros Pasos

La Plataforma DataNucleus implementa las especificaciones JDO y JPA. Estas especificaciones definen como las clases java pueden ser persistidas a un almacén de datos y como ellos pueden ser consultadas. Al elegir la plataforma DataNucleus tu puedes se elegir cual de estas APIs es más comodo para tí. Es tiempo para que empieces a utilizar la plataforma.

¿Que es requerido?

  1. Decide que datastore (almacén de datos) tu proyecto usara, y entonces download DataNucleus AccessPlatform
  2. Dependiendo del Zip descargado anteriormente es posible tambien que necesites dependencies (dependencias).
La puesta en marcha

Decide con cual API de persistencia(persistence API) quieres usar. Si no estas familiarizado con estas APIs entonces la siguiete cosa que hacer es aprender acerca de JDO and JPA, o como altenativa REST.

Tu necesitas aprender los conceptos básicos involucrados. Hay bastantes lecturas en internet, empezando por un curso de JDO o JPA.

Lo mejor que se puede hacer despues  es leer el JDO Tutorial or JPA Tutorial.
Estos tutoriales explican los pasos básicos de JDO/JPA  para aplicarlos en tu aplicación. El codigo fuente de los tutoriales esta listo para su descarga( available for download). Descargalo y pon en marcha tu entorno de desarrollo.

Una vez completado el tutorial tu deberias estar listo para empezar a aplicar DataNucleus sobre tu aplicación y beneficiarte de lo que ofrece.

Puntos Claves:

Hay algunos puntos clave a tener en cuenta a la hora de empezar a usar JDO / JPA para la persistencia de Java.

  • Para persistir objetos de clase, necesitamos definir cual de las clases son persistentes, entonces empezaremos con las secciones JDO Class Mapping y JPA Class Mapping.
  • JDO y JPA necesitan de alguien para controlar el almacén de datos: PersistenceManagerFactory para JDO, EntityManagerFactory para JPA. Puede definri muchas properties  para definir las capacidades de estos.
  • La persistencia de objetos es controlada por una API. Mirar JDO API and JPA API para más detalles.
  • Durante el proceso de persistencia de objetos, estos estan en diferentes estados del ciclo de vida(JDO, JPA) y usted debería estar conciente de esos estados. 
  • Puedes recuperar los objetos, ya sea por su identidad, o mediante una consulta. Con JDO puedes utilizar JDOQL, SQL o JPQL. Con la JPA puedes utilizar JPQL o SQL.
Persistence API : JDO o JPA ?

Hay 2 API's estandar para la persistencia en Java - Java Data Objects (JDO) y Java Persistence API (JPA). JDO esta diseñado para todo almacén de datos y JPA esta diseñado para RDBMS(Bases de Datos Relacionales). Data Nucleus soporta ambos y provee soporte para la REST API. Al elegir la API de persistencia para su uso en su aplicación, usted debe tener los siguientes factores en cuenta
  • Almacén de datos de destino: JDO está diseñado para todos los almacenes de datos, mientras que JPA es diseñado en torno a RDBMS y explícitamente utilizando terminología RDBMS / SQL. Si se utiliza RDBMS entonces usted tiene la elección. Si se utiliza, por ejemplo, una tienda de NoSQL entonces JDO tiene mucho más sentido.
  • Interoperabilidad de almacenamiento de datos: ¿Es probable que cambiar el tipo de almacén de datos en algún momento en el futuro? Si es así, probablemente debería utilizar JDO debido a su diseño.
  • API:  La API de ambos son muy similares. JDO ofrece más opciones y control, aunque en la persistencia básica y la recuperación sólo existen diferencias en el namings.
  • ORM : JDO tiene una definición mas completa de ORM, como la mostrada en Apache JDO ORM Guide .
  • Experiencia: ¿Tus desarrolladores conocen una API en particular? como se mencionaba las APIS de JDO y JPA son muy similares, aunque la definición de metadatos es diferente. Recuerde que puede utilizar los metadatos de la JPA con la API de JDO, y viceversa.
  • Consultando: ¿Necesitas un lenguaje de consulta flexible que este orientado a objetos y que sea extensible? JDOQL ofrece esto y la aplicación en DataNucleus permite extensiones. Si lo que desea es SQL, puede utilizar JDO o JPA, ya que ambos proporcionan esta.
  • Obtener control: ¿necesitas el control total de lo que se tomó, y cuando? JDO permite buscar los grupos, mientras que JPA no. Utilizar JDO es un factor importante para el diseño de tu aplicación. 
Hay también una comparación de JDO y JPA por razones técnicas( further comparison of JDO and JPA ).

Comentarios

Entradas más populares de este blog

Emprendiendo en la Nube - Arquitectura y Patrón de Diseño

Extendiendo espacio de la partición raíz en linux en particiones estándar KVM - Debian 10