Articulo de referencia

PowerHouse (lenguaje de programación)

PowerHouse es un lenguaje de programación de cuarta generación (o 4GL) compilado por byteación, producido originalmente por Quasar Corporation (posteriormente renombrada Cognos ...

PowerHouse es un lenguaje de programación de cuarta generación (o 4GL) compilado por byteación, producido originalmente por Quasar Corporation (posteriormente renombrada Cognos Incorporated) para la minicomputadora Hewlett-Packard HP3000 , así como para los sistemas Data General y DEC VAX/VMS . Inicialmente estaba compuesto por cinco componentes:

  • QDD, o Diccionario de Datos Quasar : para construir un diccionario de datos central utilizado por todos los demás componentes.
  • QDesign : un generador de pantallas basado en caracteres
  • Quick : un procesador de pantallas interactivo basado en caracteres (que ejecuta pantallas generadas por QDesign).
  • Cuestionario : un redactor de informes
  • QTP : un procesador de transacciones por lotes.

Historia

PowerHouse se presentó en 1982 y se empaquetó en un solo producto Quiz y Quick/QDesign, que anteriormente estaban disponibles por separado, con un nuevo procesador por lotes QTP. En 1983, Quasar cambió su nombre a Cognos Corporation y comenzó a portar sus herramientas de desarrollo de aplicaciones a otras plataformas, en particular VMS de Digital Equipment Corporation , AOS/VS II de Data General y OS/400 de IBM , junto con las plataformas UNIX de estos proveedores. Cognos también comenzó a extender su línea de productos con complementos para PowerHouse (por ejemplo, Architect ) y aplicaciones de usuario final escritas en PowerHouse (por ejemplo, MultiView ). El desarrollo posterior del producto agregó soporte para bases de datos relacionales específicas de la plataforma, como Allbase/SQL de HP, Rdb de DEC y SQL Server de Microsoft , así como bases de datos relacionales multiplataforma como Oracle , Sybase y DB2 de IBM .

El lenguaje PowerHouse representó un logro considerable. En comparación con lenguajes como COBOL , Pascal y PL/1 , PowerHouse redujo sustancialmente la cantidad de trabajo necesaria para producir aplicaciones útiles en las plataformas elegidas. Esto se logró mediante el uso de un diccionario de datos central, un archivo compilado que extendía los atributos de los campos de datos disponibles de forma nativa en el DBMS con modismos de programación de uso frecuente, tales como:

  • máscaras de exhibición
  • Cadenas de ayuda y mensajes
  • comprobaciones de rango y patrón
  • Textos de ayuda e información.

Para dar soporte al diccionario de datos, PowerHouse estaba estrechamente integrado con el sistema de gestión de bases de datos y/o el sistema de archivos subyacente en cada una de las plataformas de destino. En el caso del HP3000, se trataba del sistema de gestión de bases de datos (DBMS) de red superficial IMAGE y el sistema de archivos indexado KSAM , y todo el lenguaje de PowerHouse reflejaba sus orígenes.

Una vez descritos en el diccionario de datos, no era necesario volver a describir los atributos a través de ninguna de las aplicaciones, a menos que fuera necesario modificarlos sobre la marcha, por ejemplo, para cambiar el tamaño de un elemento y adaptarlo a las limitaciones de un elemento definido.

Se podían generar pantallas RÁPIDAS sencillas con tan solo cuatro líneas de código fuente:

PANTALLA <nombre de pantalla> ARCHIVO <nombre de archivo> GENERAR IR

<screenname>era el nombre de la pantalla que el programador asignó al programa. <filename>era el nombre del archivo al que se accedería en el diccionario de datos. Si todos los elementos del archivo cabrían en la pantalla dependería de la cantidad y el tamaño de los elementos. Si no cabían todos, habría que modificar el programa para eliminar los elementos innecesarios, cambiar el tamaño de los elementos a otro tamaño, etc. Pero, para un archivo con solo un par de elementos, es rápido y fácil generar una pantalla para la entrada de datos, la eliminación o simplemente para buscar datos mediante un índice.

Los informes de cuestionarios sencillos eran casi igual de fáciles. Un informe de un solo archivo era tan simple como:

ACCESO <nombre de archivo> INFORMAR TODO IR

Todos los elementos del archivo se enviarían a la pantalla, tal vez no de la forma más deseada, pero así de simple.

Dado que los programas QTP generalmente implicaban agregar, eliminar o modificar datos, no había mucha necesidad de programas de código sencillos. Se tuvo mayor cuidado debido a este peligro potencial, ya que un archivo completo (o varios) de datos podía borrarse con bastante facilidad.

Cualquier programa QUICK, QUIZ o QTP podía ejecutarse compilado (convertido a lenguaje máquina) o sin compilar (código fuente). Los programas compilados generalmente se ejecutaban más rápido, pero era necesario un método adecuado para modificar el código fuente y evitar la corrupción del código objeto. Las pantallas QUICK se utilizaban principalmente para la entrada de datos y podían llamar a otras pantallas QUICK, informes QUIZ o aplicaciones QTP para actualizar los datos. Además, era necesario realizar algunas modificaciones en el código fuente para generar el código compilado. Por ejemplo, el comando GO para ejecutar el código fuente era equivalente al comando BUILD para generar el código compilado.

Al escribir el código fuente, los comandos se pueden abreviar a los tres primeros caracteres. ACCESS se puede abreviar a ACC, al igual que DEFINE, REPORT, SCReen, etc.

Los informes del cuestionario se pueden enviar a una impresora, pantalla o archivos de texto ASCII con el SET REPORT DEVICE <printer> <screen> <disk>comando.

Con el acceso y los comandos adecuados, un principiante podría escribir programas de informes sencillos. Sin embargo, igual de peligroso era que ese mismo principiante pudiera destruir fácilmente los datos, ya que no existía ninguna medida de seguridad que impidiera acceder a los intérpretes. Si se tenía acceso a QUIZ, también se tenía acceso a QTP y QUICK.

Como todos los lenguajes de máquina virtual , PowerHouse consume muchos recursos de la CPU. Esto a veces tenía un impacto negativo visible en el rendimiento general de las transacciones, lo que obligaba a actualizar el hardware. La práctica de Cognos de vincular las tarifas de licencia a las métricas de rendimiento del hardware resultaba en altos costos de licencia para los usuarios de PowerHouse.

Migración al PC

Cognos intentó inicialmente migrar a la plataforma Intel en 1988 con el PowerHouse PC basado en MS-DOS . Si bien el producto fue utilizado por varios socios para desarrollar aplicaciones a medida para clientes pequeños y medianos, no fue un fracaso total en aquel momento. Sin embargo, Cognos finalmente lanzó Axiant (alrededor de 1995), que adaptó la sintaxis de PowerHouse a un entorno de desarrollo visual Microsoft Windows basado en Intel y lo conectó a sistemas de gestión de bases de datos (DBMS) compatibles con SQL que se ejecutaban en estas máquinas. Los cambios radicales provocados por la revolución de los PC, que comenzó justo cuando se presentó PowerHouse , redujeron el costo de las computadoras host hasta tal punto que las herramientas de desarrollo de software de alto precio, como PowerHouse, dejaron de ser atractivas para los clientes.

PowerHouse en el siglo XXI

Alrededor de 1999 se lanzó PowerHouse Web para dar soporte al desarrollo de aplicaciones web . Productos como Business Intelligence y Financial Performance Management , que se ejecutan en arquitecturas estándar y servidores UNIX de gama alta, constituyen ahora el núcleo de la línea de productos de Cognos.

Cognos fue adquirida por IBM el 30 de enero de 2008.

Las herramientas de desarrollo de aplicaciones PowerHouse, que incluyen PowerHouse Server, Axiant 4GL y PowerHouse Web, fueron adquiridas a IBM por UNICOM Systems, una división de UNICOM Global , el 31 de diciembre de 2013, y UNICOM continúa brindando soporte a la base de clientes mundial para estos productos. [ 1 ]

Referencias

  1. Woodie, Alex (21/01/2014). "Unicom añade HP3000 Biz con la compra de Cognos ADT" . Four Hundred Stuff . Recuperado el 24/03/2016 .
  • Página principal de las herramientas de desarrollo de aplicaciones de UNICOM Systems