Re: conectar desde Java

From: Edgar Enriquez <edgarpostgres(at)yahoo(dot)es>
To: Marco Castillo <mabcastillo(at)gmail(dot)com>, lista postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: conectar desde Java
Date: 2008-08-07 20:05:50
Message-ID: 460706.18560.qm@web28211.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias Marco y las otras personas que me han ayudado, ya ahora entiendo mejor las cosas, les agradesco mucho ya que estoy trabajando en un proyecto que tiene 2 años de retraso y la persona que debía hacerlo renunció hace poco así que tomé su lugar y hay cosas que han cambiado mucho de los tiempos en los que yo programaba, aplicaciones cliente-servidor y esta programación verdaderamente orientada a objetos, que es muy interesante pero al mismo tiempo complicada. Agradesco su tiempo y su ayuda.

Edgar

PD. Marco, puedo preguntarte de donde eres?

----- Mensaje original ----
De: Marco Castillo <mabcastillo(at)gmail(dot)com>
Para: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Enviado: jueves, 7 de agosto, 2008 19:32:10
Asunto: Re: [pgsql-es-ayuda] conectar desde Java

Estimado Edgar:
Vamos a tratar de desenmarañar esto de los ORM y los JPA y todas las demás siglas que nos fascinan usar en el mundo de Java. Bueno, hay un standard para manejar la persistencia de Datos en Java. Este estandar es JPA (Java Persistance API). Ahora, antes de que existiera JPA, empezaron a existir ORM (Object-Relational Mapping) escritos en Java, como Hibernate. La idea de una librería como Hibernate o de JPA, es que veas una base de datos relacional como Postgres desde un punto de vista de objetos. Con Hibernate ya no ves la bd como un conjunto de tablas y tuplas, sino como colecciones de objetos. Realmente, y te lo digo por experiencia, el uso de Hibernate y de librerías de persistencia hace mucho más fácil el manejo de la data desde el punto de vista de programación orientada a objetos.
Ahora, respondiendo tus preguntas:
1. Nop, de ninguna manera JPA sustituye al DBMS. JPA solamente constituye una capa lógica de software que te hace ver las bd's relacionales como bd's orientadas a objetos, pero nada más. Las transacciones las sigue manejando el DBMS, así como el acceso a los datos. De hecho, en el fondo de cualquier implementación de JPA (se me olvidaba decirte que JPA al ser un estandard per se, permite que se hagan implementaciones, Hibernate hizo una de tantas que hay en el mercado) se encuentra JDBC y siempre vas a necesitar un driver de JDBC nativo para la DBMS que vayas a utilizar (por cierto, el driver de JDBC de postgres es uno de los mejores que hay en el mercado, te lo digo por experiencia).
2. Bueno, si usas algún IDE de Java, como Eclipse o Netbeans, para ambos hay plugins tanto para Hibernate, como para Toplink como para implementaciones de JPA para hacer reingenieria reversa desde una bd existente de los POJOS y los archivos de metadata que se necesitan para describir una bd utilizando estas librerias.
3. Esto es lo mejor de la capa de persistencia. Por ejemplo, en el caso de Hibernate, que es lo que yo he usado extensivamente, si generas la metadata de una manera que no se ajuste a alguna base de datos en particular (cosas como la especificación de esquemas, catálogos, etc), entonces, y si por supuesto tienes cuidado al programar, y no utilizas mucho stored procedures, etc, cosas muy propietarias de la bd, entonces: el código que haces lo puedes utilizar para cualquier DBMS relacional!!!!. Igual, esto yo lo he probado y funciona muy bien. Rapidamente te cuento, mi empresa esta levantando de nuevo el sistema de Gestion de Casos del Ministerio Público (MP) de mi país. En el MP utilizan Sybase ASA para las bases de datos de las Fiscalias y ASE para las bases de datos centrales. Debido a problema de licenciamientos (es el gobierno!!) para desarrollar el nuevo sistema usamos PostgreSQL. Usando una capa de persistencia como Hibernate, hemos podido
desarrollar el sistema sobre Postgres y luego probarlo en producción sobre ASA y ASE, sin un sólo cambio en el código escrito!!
En conclusión, usa persistencia, es complicado y doloroso al principio, pero luego que dominas el arte, te ahorra años en el desarrollo. Espero que estas líneas te hayan servido de algo.

Saludos

Marco

2008/8/5 Edgar Enriquez <edgarpostgres(at)yahoo(dot)es>

Gracias German, mi problema es que tengo que hacer una aplicación con un cliente web y un cliente swing, pero aún no comprendo muy bien la parte del mapeo objeto-relacional y JPA, porque aveces se refieren a JPA como una librería y aveces como una especie de standard que se implementa por un framework como Toplink e Hibernate, glassfish utiliza por default toplink y parece que se puede modificar para que utilice hibernate, pero yo no entiendo muy bien algunas cosas:

1. el jpa sustituye al dbms, quiero decir según la documetacion maneja las transacciones y el acceso a los datos
2. No he encontrado un ejemplo de como mapear una bdd ya existente, en los ejemplo mencionan que es posible pero más dificil, asi que siempre ponen un ejemplo de como generar la base desde java (que en mi caso no es funcional)
3. Y por último una pregunta me surge, si se utiliza glassfish-toplink o glassfish-hibernate entonces ¿vale la pena utilizar un dbms como postgres, o es mejor utilizar mysql, ya que de todas formas el jpa va a manejar las transacciones y va a asegurar que sea una base de datos ACID?
Feliz dia

----- Mensaje original ----
De: German Salinas <gs(dot)salinas(at)gmail(dot)com>
Para: Fernando Aguada <fernandoaguada(at)yahoo(dot)com(dot)ar>
CC: Edgar Enriquez <edgarpostgres(at)yahoo(dot)es>; Lista Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Enviado: sábado, 2 de agosto, 2008 16:32:22

Asunto: Re: [pgsql-es-ayuda] conectar desde Java

Estimado,

Tengo algo de experiencia con J2EE,Postgresql y AJAX cualquier duda sobre como aplicar esta tecnologia me escribes a mi correo gs(dot)salinas(at)gmail(dot)com y si puedo ayudarte lo hare con todo gusto.

Hago extensiva esta invitacion a cualquier hermano del OPEN SOURCE..

Un saludo,
German Salinas

El 2 de agosto de 2008 7:29, Fernando Aguada<fernandoaguada(at)yahoo(dot)com(dot)ar>escribió:

Hola
JPA, Hibernate son framework de persistencia, lo que hacen es proveer una capa que conecta con un motor de bases de datos cualquiera, de esta manera, podrias cambiar de un motor de datos a otro sin que te veas en la necesidad de cambiar nada en tu aplicacion.
Al menos asi lo entiendo yo.

Saludos Cordiales.

----- Original Message ----- From: "Edgar Enriquez" <edgarpostgres(at)yahoo(dot)(dot)es>
To: "Marco Castillo" <mabcastillo(at)gmail(dot)com>; "lista postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Saturday, August 02, 2008 6:39 AM
Subject: Re: [pgsql-es-ayuda] conectar desde Java

yo también nececito crear una aplicación java para conectarme a una BDD postgres, actualmente tengo todo sobre JDBC, pero para utilizar crear un servidor me digeron que nececito instalar Glassfish y crear allí las conexiones pero luego se habla de JPA, Hibernate y toplink (que aparentementa hacen lo mismo) pero al final la conexión la termina haciento el JDBC de postgres, alguien sabe cual es la diferencia? porque además parece que glassfish maneja la concurrencia (algo que tradicionalmente se hace en Postgres)

Saludos a todos y gracia por sus respuestas

----- Mensaje original ----
De: Marco Castillo <mabcastillo(at)gmail(dot)com>
Para: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Enviado: viernes, 1 de agosto, 2008 21:04:54
Asunto: Re: [pgsql-es-ayuda] conectar desde Java

Pues la idea del foro es aprender y ayudarnos mutuamente (mi percepción personal). Aca habemos varios que trabajamos en Java y en PostgreSQL. Haz tus preguntas aca y te echamos una mano.

Saludos

Marco

2008/8/1 Fabio Arias <fharias(at)gmail(dot)com>

Cualquier cosa que necesitas sobre java+postgresql me escribes con mucho gusto te ayudaré

Bye

El 1 de agosto de 2008 9:50, Gabriel Ferro<gabrielrferro(at)yahoo(dot)com(dot)ar>escribió:

ok, mil gracias a todo. logre hacerlo, aunque me cuesta, considerando que no se nada de java y soy de la vieja escuela donde objetos y clases no existian.
¿alguien conoce una lista buena de java+postgre en español?

________________________________

¡Buscá desde tu celular!
Yahoo! oneSEARCH ahora está en Claro
http://ar.mobile.yahoo.com/onesearch

--
Fabio Hernando Arias Vera
Cel. 314 411 7776

______________________________________________

Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.

--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán

________________________________

Enviado desde Correo Yahoo!

La bandeja de entrada más inteligente.

______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Reyes 2008-08-07 21:05:30 Re: borrar indices ?
Previous Message Yoel Mc Lennan 2008-08-07 18:33:28 borrar indices ?