sábado, 1 de mayo de 2010

IronPython y Sybase DataWindow .NET, en SharpDevelop, y 3.

Hola. Seguimos con la construcción de una aplicación de gestión con IronPython y Sybase DataWindow .NET en SharpDevelop. Este post es continuación del anterior en El Viaje del Navegante.

CREANDO CONEXIONES ENTRE UN CONTROL DATAWINDOW Y LA BASE DE DATOS MEDIANTE UN OBJETO TRANSACTION

Vamos a conectar el Control DataWindow a la base de datos de MySQL. Darse cuenta del juego que da esto, ya que podemos tener una serie de DataWindows conectados a origenes de datos diferentes, siempre y cuando el SGBD sea el mismo, esto es, podemos cambiar, en una base de datos, de producción a pruebas únicamente cambiando la cadena de conexión del objeto transacción, sin que afecte en absoluto al DataWindow.

Arrastramos un objeto Transaction a la ventana.


En las propiedades del objeto Transaction le indicamos las características de la conexión (¿Recuerda el lector como se obtenía la cadena de conexión en el Designer?).

¿Dónde decirle al DataWindow que coga la conexión del objeto Transaction? Lo normal es conectar el DataWindow en la carga de la ventana, pero podemos hacerlo en cualquier lugar, siempre y cuando le de tiempo al DataWindow de construirse (evidentemente, si intentamos asignar una conexión a un DataWindow que no está creado, fallará). Así que vamos a incluir el código de conexión en el evento Load de la ventana Windows.



PROGRAMANDO LÓGICA DE OPERACIÓN DEL MANTENIMIENTO

Ya tenemos todo listo, solo hace falta programar las operaciones propias de un mantenimiento de clientes, esto es, crear, borrar, imprimir, etcétera. Insertamos los botones apropiados y ¡¡¡les damos vida!!!.

Finalmente nuestro mantenimiento de clientes queda así:

He incluido código en cada evento del click del ratón sobre los botones incluidos en la ventana:



¿Y los métodos y propiedades de un DataWindow? ¿Cómo investigo dónde están?

SharpDevelop lleva instalado un plugin de Reflector de serie, por lo que podemos navegar por las clases de los componentes deseados para ver sus propiedades y métodos. Yo lo he usado para ver la disponibilidad de métodos del componente DataWindow. Antes hay que cargar las referencias, claro está.


Si vemos que el DataWindow no queda como nosotros quisiéramos siempre podemos ir al Designer, a modificarlo y automáticamente, sin necesidad de hacer nada, se actualiza en el Control DataWindow del SharpDevelop. Un ejemplo sería el siguiente, en donde he incluido botones de recorrido de registros.


Evidentemente la funcionalidad de este mantenimiento de clientes es limitada ya que no me he esmerado demasiado, por falta de tiempo. Decir que la impresión podría hacerse registro a registro, en vez de todos los clientes. Faltaría una búsqueda de clientes por cualquier campo. En definitiva, espero la comprensión del lector a la hora de valorar el ejercicio, ya que he buscado la pedagogía más que el refinamiento, aunque son conceptos que no tienen porqué ir separados. Otra razón es que no quier hacer largo en exceso este post.

FUNCIONAMIENTO DEL MANTENIMIENTO DE CLIENTES

Ejecutamos nuestra aplicación y tenemos lo siguiente:


Insertamos un nuevo cliente:


Y otro:

Y otro más:


Y una impresión de todos los clientes:


Con este último artículo queda demostrada la potencia de la conjunción de estas herramientas. En un cuarto post crearé el mantenimiento del maestro - detalle para facturas, que se hace prácticamente con los mismos pasos con los que he realizado este mantenimiento maestro.

CONCLUSIONES

IronPython es una implementación de Python escrita en C# para acceder a las clases del FrameWork .NET de Microsoft. Sybase, empresa líder en sistemas de gestión ha sacado al mercado una versión de su objeto estrella en PowerBuilder, el DataWindow, en una versión independiente para el Framework de Redmond, el componente DataWindow .NET.

IronPython funciona y se integra con especial facilidad en SharpDevelop. El componente DataWindow .NET se puede agregar al entorno de desarrollo de SharpDevelop. IronPython puede acceder sin la menor complejidad al componente Sybase DataWindow .NET, en el entorno de desarrollo SharpDevelop.

Python y DataWindow, dos de las plataformas de desarrollo mejor construidas y más sencillas de utilizar, juntas. Una respuesta para los desarrolladores de sistemas de gestión y de bases de datos que les vendrá muy bien. Merece la pena valorarlo al menos.

Inconvenientes: Sybase DataWindow .NET es de pago, rondando los 500 dólares.

Esta mezcla tan explosiva de potencia de desarrollo es especialmente recomendable para proyectos de alto nivel empresarial. Tal vez, y solo tal vez, en esta ocasión, el gasto esté justificado.

Saludos.

1 comentario:

  1. Que interesante!!! ¿Has realizado alguna implementacion con esta tecnologia que muestra?

    ResponderEliminar