Logo

ClearLight
Sistema Integrado para la Administracion

Su IP: 18.215.62.41



ClearLight está escrito en Visual Basic 6, utilizando las mejores prácticas de desarrollo orientado a objetos disponibles en ese lenguaje.

Para este momento (abril de 2010), ClearLight tiene acumulados cerca de doce años de actividad de investigación y desarrollo, y ha sido objeto de cientos de revisiones.

Está formado por un programa principal, integrado por 420 unidades de código fuente, diez DLLs de aplicación (extensiones de la aplicación externas al programa principal) y diez componentes de uso general (controles de usuario y DLLs de uso general). Las aplicaciones de punto de ventas (cinco aplicaciones genéricas y varias adaptaciones a requerimientos específicos de cliente) comparten el nucleo de la aplicación principal al que se agregan los componentes de interfaz con el usuario para la entrada de datos de las ventas y -en algunos casos- clases que implementan conceptos adicionales (como las mesas o los ambientes en el punto de venta para restaurantes).

Con esta simple estructura, hemos logrado adaptarnos a los requerimientos específicos de más de mil clientes, gracias a las ventajas derivadas de su excelente diseño, cuyo objetivo primario fue la extensibilidad.

La extensibilidad es la capacidad de los sistemas de adaptarse a requerimientos desconocidos durante la fase de diseño.

Se han desarrollado extensiones para el control de venta de boletos en agencias de viaje, control de ocupación y facturación en hoteles, control de ingresos para líneas aéreas, control de procesos de producción y talleres de reparación de equipos. En cada una de ellas, sus autores se limitaron a crear la funcionalidad especial requerida por el área de aplicación, especialmente a nivel de uevas interfaces de usuario, y utilizan los objetos de ClearLight (ofrecidos directamente por la aplicación mediante una factoria de objetos "conscientes" del entorno) para procesar todos los efectos administrativos de las operaciones.

En estos doce años hemos logrado adaptarnos a los requerimientos más variados y específicos que se pueda imaginar, trabajando sobre una versión única del código fuente.

Lo más bonito de todo el asunto es que todos los mecanismos de extensibilidad forman parte del sistema operativo, y que bastó con comprometernos con una arquitectura abierta para que todo eso fuera posible.

Los componentes de extensión pueden ser de varias clases: DLLs de extensión de los formularios, DLLs de extensión de aplicaciones y -sobre todo- el uso de pequeños programas desarrollados en VBScript, un lenguaje simple y totalmente estandarizado que viene con todas las versiones de Windows, desde Win95 hasta Windows 7 y Windows Server 2008. Independientemente de la naturaleza de estos componentes, todos interactuan con el modelo de objetos de ClearLight.

Por otra parte, ClearLight trabaja contra bases de datos manejadas por cualquier versión de SQL Server 2000 o posterior. Las primeras versiones -orientadas a empresas muy pequeñas- utilizaban bases de datos de Microsoft Access. A partir de la versión 3 incorporamos soporte para SQL Server y MySQL. En la versión 5 descontinuamos el soporte para MySQL (nadie lo usó con ClearLight) Y en la versión 6 descontinuamos el soporte para bases de datos de Access, que perdió por completo su sentido; la única razón para usar BBDD de Access era que no requerían la compra de ningún producto adicional, y desde hace varios años están disponibles las versiones Express de SQL Server, totalmente gratuitas, que producen un excelente rendimiento atendiendo hasta doce terminales.

SQL Server permite el desarrollo de extensiones declarativas en la propia base de datos, aumentando así de manera considerable el potencial de extensibilidad de las aplicaciones que lo usan.

En cualquier sistema de calidad comercial es posible adaptar los formatos de los documentos a cualquier requerimiento. Tambien es común que los usuarios puedan definir nuevos reportes. Pero los métodos de extensibilidad de ClearLight permiten alterar los efectos de las operaciones, modificar el diseño de los formularios, agregar elementos de información a las entidades y soportar nuevas aplicaciones constuídas sobre su sólida infraestructura de objetos de negocios.

Por supuesto, todas estas ventajas deben ser realizadas por un desarrollador familiarizado con las herramientas requeridas y con el modelo de objetos de la aplicación. Pero podemos afirmar que ClearLight está en capacidad de adaptarse a cualquier requerimiento.

Tiene sus limitaciones, por supuesto, pero el camino no termina hoy.

Sobre la obsolescencia de las herramientas

Hemos recibido un par de críticas acerca del lenguaje usado para la construcción de ClearLight.

Visual Basic 6 fue lanzado al mercado a comienzos de 1999, y descontinuado a partir de 2005. El proyecto que eventualmente condujo a la creación de ClearLight comenzó a desarrollarse a comienzos de 1998, usando Visual Basic 5.

Su "reemplazo", Visual Basic .NET, del cual se han lanzado hasta ahora cinco versiones, no es compatible con el código escrito en VB6. Tanto Microsoft como otras empresas han tratado de desarrollar herramientas de migración, pero hasta ahora no existe ninguna capaz de generar una aplicacion en VB.Net a partir de un proyecto en VB6 sin necesidad de una importante intervención manual.

Si hoy en día comenzaramos el desarrollo de una nueva aplicación, seguramente no optaríamos por VB6. Tampoco por VB.NET, basado en un estandar propietario. Tal vez nos decidiríamos por Java, o por C#.

Pero ClearLight tiene diez años de desarrollo acumulados.

Y diez años de desarrollo, incluyendo técnicas y métodos de extensibilidad basados en las características del sistema operativo no son algo que se descarte en favor del último grito de la moda en tecnología.

El único peligro sería que el sistema resultara incompatible con las nuevas plataformas. Pero eso es improbable en el mediano plazo.

Por una parte, los componentes de soporte de tiempo de ejecución requeridos por las aplicaciones escritas en VB6 es el mismo que requiere VBA (Visual Basic para Aplicaciones), la tecnología utilizada para la automatización de Office. Microsoft intentó descontinuar VBA en la versión 4 de Office para Mac, y el fracaso fue tan rotundo que tuvieron que reponerlo para no perder el mercado. Office 2007 y Office 2010 incluyen VBA. Incluso, para Office 2010 se publicó una versión de VBA con extensiones para equipos y sistemas operativos de 64 bits.

Adicionalmente, la inversión colectiva en el desarrollo de aplicaciones para VB6 y VBA, tanto a nivel empresarial como comercial es tan cuantiosa (para 2003, el número de desarrolladores estrictamente profesionales utilizando VB6 como herramienta primaria era de seis millones, hoy en día puede haberse reducido a la mitad, pero sigue siendo un número considerable) que cualquier sistema operativo que no las soporte está condenado al fracaso inmediato.

De manera que las críticas basadas en el hecho de que ClearLight esté desarrollado en VB6 son, utilizando una calificación generosa, superficiales.

Pero tampoco es que estemos "dormidos en los laureles". Entendemos que las plataformas evolucionan y que no se puede vivir en la ignorancia de esa evolución. Desde hace cuatro años venimos desarrollando en paralelo patrones de arquitectura y técnicas de construcción y extensibilidad, tanto en Java como en C# (la decisión sobre qué camino tomar aun no está clara), con miras a estar preparados para suministrar un reemplazo de nuestra aplicación en el improbable caso de que se produzca una ruptura de compatibilidad en las plataformas.

De manera que ni ClearLight (cuya última revisión terminó hace unos minutos) ni las herramientas usadas para su desarrollo y mantenimiento, sufren de más obsolescencia que la que sugieren las necesidades de mercadeo de las empresas que producen las nuevas herramientas.

Por último, en este momento no hay en el mercado ningún sistema que aproveche todas las innovaciones tecnológicas. Las herramientas más usadas por nuestros competidores son Visual Fox Pro (descontinuado desde 2007), Delphi (excelente herramienta, pero con una comunidad de usuarios más reducida que la del largamente moribundo VB, y que ha cambiado seis veces de dueño en los últimos quince años), todavía hay quien vende aplicaciones escritas en MS Access y el mercado de los puntos de venta sigue dominado por copias piratas de SAINT para MS-DOS.

Las casas de software no somos fanáticos de la innovación, a menos que sea la de nuestros productos. El software sólamente evoluciona si se dispone de plataformas y herramientas de desarrollo estables, sobre las cuales se puedan acumular investigación, funcionalidad e innovación metodológica. Nosotros somos los que estudiamos "Design Patterns: Elements of Reusable Object-Oriented Software", las RFC del W3C y las ponencias de la ACM, mientras los aficionados hojean Computer World.