JSF: Conectando tablas de FoxPro con Java y ICEfaces

En el trabajo ultimamente he estado arto de tener que estar creando aplicaciones en la cual se tiene que alimentar por medio de un archivo de Excel en las interfaces web y esto se debe que casi todo esta elaborado con tablas de fox, entonces me decidi a averiguar si hay alguna manera de pegarme a dichas tablas y a la vez tener los beneficios de JPA.

Googleando un poco me di cuenta que no existe un driver JDBC especifico para tablas de Fox Pro, entonces la solución es conectarse a través de ODBC, pues mucho me van a decir que utilizar ODBC es lento pero por el momento no he encontrado otra manera, y lo otro es que me amarra utilizar windows del lado del servidor de aplicaciones, intente usar unixODBC pero no existe driver para tablas Dbase así que por el momento estoy amarrado a windows utilizando esta conectividad.

Pues bien ahora voy a la parte que mas me gusta y es la de desarrollar un ejemplo, en el cual creare un proyecto Java Library Class con Netbeans en cual puede ser utilizado tanto en un proyecto web como en una aplicación de escritorio con Swing o alguna interfaz en Java que este en en escucha, o como putas les pegue la regalada gana usarlo siempre con Java.

Paso 0

Antes de empezar es necesario tener instalado el Driver de Microsoft Visual FoxPro que esta disponible en la siguiente dirección:

http://msdn.microsoft.com/en-us/vfoxpro/bb190233.aspx

Paso 1

Crear el origen de datos de las tablas, para este ejemplo yo creo que un archivo de base de datos de Fox con una tabla llamada "Persona", tambien funciona perfectamente con tablas libres.

Nos dirigimos a Panel de Control / Herramientas administrativas / Orígenes de datos (ODBC) estando alli en la ficha DSN de usuario damos clic en "Agregar" y nos aparecera el listado de Drivers a utilizar en nuestro caso seleccionaremos "Driver para o Microsoft Visual FoxPro" o cualquier otro similar que se llame Visual FoxPro que al fin y al cabo son iguales.


Luego de esto debemos elegir la ruta nuestro archivo de base de datos o la ruta del directorio donde tengamos nuestras tablas libres y asignamos nombre a nuestro Origen de datos en mi caso le llame "FoxPro"


Damos clic en "Ok" y tendremos listo nuestro origen de datos.

Paso 2

Dentro de Netbeans 6.7 es necesario crear una conexión de base de datos de tipo "JDBC-ODBC Bridge" en username y password se coloca un usuario y contraseña de windows y la cadena de URL JDBC se coloca el nombre del Origen de datos que en nuestro caso es "FoxPro".


Paso 3

Procedemos a crear un proyecto Java Class Library, que le nombrare "JavaFox", que contendra nuestro Entity Class de la tabla Persona. Para este caso en particular creare la unidad de persistencia a parte y la clase Entidad ya que el asistente de Netbeans no puede crearlo por nosotros ya que fox no sabe sobre esquemas y asi no funciona bien el asistente.

Cree mi paquete llamado "org.dani.ejemplo.fox" doy clic derecho sobre este me voy a "Nuevo" selecciono la categoría "Persistence" y selecciono "Unidad de persistencia", en la ventana de dialogo del asistente podemos como libreria de persistencia Hibernate o Toplink en mi caso siempre me gusta usar mas TopLink asi que elijo esta, también elijo la conexión de base de datos que creamos anteriormente y en la opción de Table Generation Strategy marcamos "none" y por ultimo damos clic en Finish.

Paso 4

Ahora procedemos a crear nuestra Entity Class de la tabla Persona, damos clic derecho sobre el paquete que habíamos creado seleccionamos de nuevo la categoría "Persistencia" pero ahora escogemos "Entity Class" y completamos la clase de esta manera:


Paso 5

Creamos un proyecto web Con ICEfaces y Facelets, yo lo llamare "WebFox", tambien debemos importar el proyecto anterior a este, ya sin perder ya tanto el tiempo nos diponemos a crear nuestro Managed Bean llamado "TemplateClient", el cual tendra la funcionalidad de listar, modificar y guardar registros de la tabla de FoxPro.

Paso 6

Ahora solo debemos editar la parte de la vista que es el templateclient.xhtml


Ya hecho todo lo anterior nada mas bastara con ejecutar nuestra aplicación


Comparto el proyecto para efectos del estudio.

Comentarios (4)

4 Response to "JSF: Conectando tablas de FoxPro con Java y ICEfaces"

  1. DMI says:
    lunes, julio 27, 2009

    Gracias por la guia.

    En este ciclo me sera util.

  2. Anónimo Says:
    viernes, septiembre 16, 2011

    Hola..tengo una komunidad dodne nos ayudamos con adsense..si stas interesado escribeme a inzomnio666(arroba)hotmail.com

    Buen blog y sigue para adelante

  3. naciek says:
    lunes, julio 02, 2012

    El driver para java ya no esta disponible, funciona igual con el OLE DB o tendria que conseguir el Driver

  4. Anónimo Says:
    martes, abril 23, 2013

    Se podria hacer para linux?