| Artículos | 01 ENE 1995

MultiBase 2.0 para Windows: Entorno de desarrollo integrado

Tags: Histórico
Tecnología punta del software español
Rais Busom.

MultiBase es un entorno de desarrollo de aplicaciones 4GL basado en un servidor SQL. Se trata de uno de los productos nacionales con mayor proyección en el exterior. En esta ocasión vamos a analizar la nueva versión para el entorno Windows.

La compañía española TransTOOLs ha dedicado muchos recursos en desarrollar una tecnología propia para generación de aplicaciones. La polémica que ha rodeado el caso de MultiBase por parte de Informix, sin entrar en las cuestiones jurídicas, no ha hecho más que crear un clima de opinión que contribuye a destacar el valor del producto con el que cuenta TransTOOLs. De otro modo nadie se preocuparía por él. La confianza que se ha depositado en esta aplicación lo demuestra el espectacular crecimiento en facturación de la compañía. El objeto del presente artículo es explicar la metodología de programación y las características internas de MultiBase para Windows versión 2.0.

Instalación y configuración

La instalación de MultiBase ha mejorado mucho respecto a la versión anterior. Se dispone de un instalador típico de Windows en el que se pueden escoger diversas funcionalidades. MultiBase/WIN necesita como requisito mínimo un ordenador 386 con 4 MB de RAM y 9 MB de disco duro. Como el entorno de desarrollo está hecho con MultiBase mismo es necesario disponer además de un runtime para Windows 3.1.

Para configurar MultiBase/WIN se dispone de la opción del menú Entorno donde se definen los directorios por defecto, los tipos de fecha, moneda y hora, así como otras características generales sobre el editor, impresión, etc. En todas las aplicaciones aparece como primera opción del menú MB que es una persiana de accesorios en el que como mínimo aparecen Definición de Colores, Acerca de..., y Ayuda, pero puede figurar cualquier aplicación de Windows si se configura adecuadamente el fichero SYSTMENU. MultiBase/WIN utiliza intensivamente los ficheros de inicialización INI de Windows. El propio entorno dispone de MB.INI, además cada aplicación puede tener el suyo. En estos ficheros destacan las opciones que deberá cargar el runtime al abrir una aplicación. En ellos se puede definir el tamaño de los botones, los colores, el aspecto de la ventana principal, el tipo de cursor de edición, las DLL utilizadas, el gestor de impresión, etc.

Arquitectura MultiBase

La tecnología de MultiBase/WIN corresponde a compiladores y a gestión de bases de datos. MultiBase está dotado de una entorno de desarrollo integrado (TRANS), por el que se pueden generar sin programación alguna las tareas básicas de una aplicación basada en datos. Para desarrollos más específicos se dispone de un lenguaje 4GL llamado CTL, compilado mediante CTLCOMP. Además dispone de un gestor de bases de datos, servidor SQL, llamado CTSQL. Esta arquitectura se refleja en el gráfico de la Figura 1.

El lenguaje CTL actúa como cliente del servidor CTSQL y se comunica con él mediante mensajes. Un mensaje puede ser una instrucción SQL que demanda una serie de filas de una tabla. El lenguaje CTL está formado por instrucciones procedurales y declarativas convencionales y por instrucciones de SQL embebido. Las aplicaciones que pueden generarse con esta arquitectura reducen de manera espectacular los tiempos de desarrollo.

El ciclo de desarrollo de MultiBase/WIN está en sintonía con las últimas metodologías RAD (Rapid Application Developement) que sustituyen el antiguo modelo en cascada (basado en el orden secuencial de varias fases: requerimientos, análisis, diseño, codificación) por el modelo de prototipos cuyo orden de proceso es un ciclo. Así el desarrollo de una aplicación implica varios ciclos de refinamiento progresivo que van pasando por las varias fases prescriptivas. De esta manera es posible entregar unos módulos antes de que toda la aplicación se haya acabado.

Por lo que respecta a la herramienta MultiBase/WIN las fases de desarrollo son las siguientes:

1) Crear la base de datos: en primer lugar debe crearse la base de datos con todos sus atributos, tablas, vistas, consultas predeterminadas, integridad referencial, etc. Las bases de datos poseen su propio diccionario de sistema.

2) Escribir o generar los módulos: algunos aspectos de las aplicaciones no necesitan ser codificados. Estos son entrada de datos, listados, librerías, menús, y consultas. También se pueden escribir directamente en el editor Wedit módulos específicos. Los ficheros fuente tienen la extensión SCT (scripts CTL), SHL (mensajes, menús y ayuda) y SQL (sentencias SQL). La opción más potente es Generar prototipo, que permite obtener de la nada una aplicación completa con las opciones básicas de entrada de datos, listados y consultas, como puede verse en la figura 2.

3) Compilar: mediante el compilador CTLCOMP se compila el código CTL, escrito o generado dando lugar a ficheros objeto con extensión OCT. Los mensajes de ficheros SHL pueden compilarse mediante THELCOMP generando ficheros OHL que permiten cambiar con facilidad cualquier texto de un programa. Los módulos tienen la posibilidad de compilarse en modo depuración o no. Las aplicaciones poseen su propio diccionario de datos.

4) Depurar: multiBase/WIN dispone de un depurador suficientemente eficaz para conseguir el control de calidad del código compilado o encontrar inoportunos errores.

5) Probar: la prueba permite comprobar el funcionamiento de un modo aislado o conjuntamente a otros módulos. Hay que destacar la impresionante estabilidad que han demostrado las aplicaciones de MultiBase/WIN, un aspecto bastante raro en el entorno Windows.

6) Enlazar: el enlazador CTLINK crea ficheros con extensión LNK donde se referencia todos los módulos que componen un programa.

7) Generar manuales: la generación de manuales es un aspecto casi único de MultiBase/WIN. A parte de que en todo momento es posible documentar con TDOCU cualquier módulo o aspecto de la base de datos, la generación de manuales resuelve con urgencia un aspecto difícil de solucionar en desarrollos a medida. Además el soporte multilingüe del que es capaz MultiBase/WIN hace de éste un producto atractivo de cara a exportar aplicaciones a otros mercados. MultiBase/WIN puede generar tanto el manual de usuario como el manual técnico.

8) Ejecutar: la ejecución de una aplicación necesita ser lanzada mediante el runtime interpretado CTL.EXE que ocupa 1,3 MB. En el icono de la aplicación del administrador de programas de Windows debe asociarse el runtime al módulo principal. Por ejemplo, para la aplicación de demostración es el siguiente: ctl.exe -ini almacen.ini -cd c:\mbdemo almacen. El runtime carga la configuración del fichero de inicialización y a continuación el módulo principal. MultiBase/WIN va cargando los módulos que se necesitan dinámicamente en memoria.

El motor CTSQL

El motor de bases de datos está basado en los conocidos árboles B+ TREE, siguiendo la normativa X-Open/Isam. En tanto que gestor de base de datos dispone de unos comandos que son instrucciones SQL puras y que se incluyen de manera directa en cualquier módulo de desarrollo como si fueran instrucciones del mismo lenguaje. Si bien el SQL embebido está muy bien solucionado es una estrategia en desuso frente a las API's o librerías de funciones.

La implementación de SQL es del tipo llamado embebido: esto es transparente para el programador, pues no necesita llamar explícitamente a ningún precompilador o anunciar secciones específicas de SQL dentro del lenguaje anfitrión. La instrucción TSQL permite ejecutar cualquier instrucción de la base de datos directamente. De esta manera se pueden crear dinámicamente sentencias con instrucciones proporcionadas por el usuario.

CTSQL crea el esquema de la base de datos en un directorio específico con el nombre dado a ésta más la extensión DBS. El esquema de la base de datos está formado por múltip

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información