FOCUS es un lenguaje de programación de computadoras de cuarta generación (4GL) y un entorno de desarrollo que se utiliza para crear consultas de bases de datos. Producido por Information Builders Inc., fue desarrollado originalmente para el manejo y análisis de datos en el mainframe de IBM . Posteriormente se implementaron versiones para miniordenadores y como el VAX y otras plataformas [1] . [2] [3] FOCUS se extendió más tarde a las computadoras personales y (en 1997) a la World Wide Web : el producto WebFOCUS .
Historia
Information Builders 'producto Focus S comenzó como un producto alternativo a Mathematica ' s RAMIS , el primer lenguaje de programación de cuarta generación (4GL).
National CSS (NCSS), un proveedor de tiempo compartido , licencia los derechos para que RAMIS esté disponible en su sistema VP / CSS . [4]
En algún momento, Mathematica cambió su precio de licencia. [5]
Las partes interesadas fueron: [4]
- NCSS, que comercializaba RAMIS (y otros productos) para su uso en su sistema de tiempo compartido
- Mathematica, propietario de RAMIS
- Desarrolladores / programadores clave de RAMIS
- algunos se quedaron con Mathematica
- otros se fueron para formar la empresa que se convirtió en Information Builders, conocida por su producto FOCUS
Relación con otros 4GL
RAMIS fue el antepasado directo de FOCUS.
Gerald D. Cohen y Peter Mittelman fueron los principales desarrolladores de RAMIS mientras trabajaban en Mathematica Products Group en 1970. RAMIS fue licenciada por Mathematica a varios clientes internos (incluyendo Nabisco y AT&T Corporation ), y también fue ofrecida por National Empresa de tiempo compartido CSS . En [6] octubre de 1975 [7] Cohen dejó Mathematica y formó Information Builders, después de lo cual recreó el producto que había construido en Mathematica en forma de FOCUS, que era muy similar a RAMIS: "los mismos errores y el mismo error de ortografía mensajes ". [4] [8]
La sintaxis de FOCUS en sus elementos más simples es casi un clon directo de la sintaxis de RAMIS con un parecido similar a las diferencias entre varios dialectos tempranos de SQL. Al mismo tiempo, NCSS decidió trabajar en su propio producto, más tarde llamado NOMAD . Los tres productos florecieron durante la década de 1970 y principios de la de 1980, y FOCUS también se ofreció en régimen de tiempo compartido a través de Tymeshare . [4]
El tiempo de Mathematica se agotó a mediados de los 80, y NCSS también fracasó, víctima de la revolución de la computación personal que obvió el tiempo compartido comercial.
RAMIS se vendió a una serie de empresas, y finalmente aterrizó con Computer Associates . NOMAD sufrió un destino similar. FOCUS, bajo la dirección de Cohen, continuó floreciendo al expandir su línea de productos.
Poco competitivo con SAS , [9] FOCUS nunca alcanzó el mismo grado de adopción generalizada, tal vez porque solo tenía funciones analíticas y estadísticas básicas y carecía de la amplia gama de herramientas analíticas especializadas que hicieron de SAS el estándar en campos como los ensayos clínicos farmacéuticos . En cambio, FOCUS se concentró en una flexibilidad extrema en la importación y exportación de datos, así como en la generación de informes ad hoc para el usuario final .
Integración
Los paquetes de software con los que FOCUS se ha vinculado e integrado incluyen:
- Excel [10]
- AJAX [11]
Competidores de Business Intelligence
Entre los competidores del software de inteligencia empresarial se incluyen: [12]
- Objetos de negocio
- Cognos
- Hyperion
- Microsoft
- MicroStrategy
- SAS
Descripción
Aunque FOCUS se parece a otras herramientas de análisis y acceso a datos, como SQL y SAS , también incluye funciones de presentación y visualización de informes y gráficos. Automatiza el proceso de identificación de archivos en el sistema operativo , abrir el archivo de entrada, leer el siguiente registro, abrir el archivo de salida, escribir el siguiente registro y cerrar los archivos. Esta operación básica permite al usuario / programador concentrarse en los detalles de trabajar con los datos dentro de cada registro, de hecho trabajando casi en su totalidad dentro de un ciclo de programa implícito que se ejecuta para cada registro, algo así como RPG (Generador de programas de informes) . Otros procedimientos operan en el conjunto de datos como un todo, por ejemplo, la impresión o el análisis estadístico , y simplemente requieren que el usuario / programador identifique el conjunto de datos.
En comparación con los lenguajes de programación de propósito general , esta estructura permite al usuario / programador estar menos familiarizado con los detalles técnicos de los datos y cómo se almacenan, y relativamente más familiarizado con la información contenida en los datos. Esto difumina la línea entre el usuario y el programador, y atrae a las personas cuyas funciones laborales están en los negocios o la investigación en lugar de la tecnología de la información . Esto, a su vez, tiene el resultado de doble filo de permitir respuestas rápidas a preguntas comerciales o de investigación, incluso aquellas que requieren varias iteraciones para pasar de los resultados iniciales a una respuesta final; pero también puede contribuir a la construcción de un gran cuerpo de código fuente mal escrito y / o difícil de mantener .
Descripción de archivo maestro (MFD)
Una característica que era única en ese momento es que FOCUS ofrece la capacidad para que el usuario construya un archivo de descripción de datos (llamado "descripción de archivo maestro") [13] [14] refiriéndose al archivo de datos real, o incluso a varios datos diferentes. archivos de descripción que se dirigen al mismo archivo de datos de diferentes maneras, en lugar de la práctica habitual de tener la estructura del archivo codificada en el programa.
De esta manera, se puede acceder o producir archivos de cualquier estructura desde cualquier fuente de muchas formas diferentes, eliminando gran parte de la manipulación de datos (por ejemplo, concatenación o análisis) en ocasiones requeridas con otros lenguajes de programación anteriores. Por ejemplo, se puede acceder al mismo archivo de datos real (lectura o escritura) ya que cada registro es una cadena de texto de 80 bytes, o como 40 campos numéricos de 2 caracteres, otros como 10 números de coma flotante de 8 bytes, etc., por parte del usuario simplemente vuelva a escribir la descripción apropiada del archivo maestro según sea necesario.
Muestras
- (lote)
- IMPRIMIR LASTNAME FIRSTNAME AREACODE PHONUM NOTAS
- IMPRIMIR NOMBRE DEL PROYECTO Y COSTE DEL PROYECTO POR NOMBRE DE PERSONAL COSTO SUBTOTAL DEL PROYECTO POR CUSTID
El segundo comando produciría un informe con encabezados CUSTNAME CUSTID PROJNAME PROJCOST
- seguido de una o más líneas de detalle, seguido de
- _TOTAL_ CUSTNAME xxxxx (y $ z, zzz.zz para ese CUSTNAME)
- La parte inferior del informe tendría el total de TODOS los proyectos.
- (interactivo)
- MODIFICAR ARCHIVO PHONEIDX
- NOTAS DE APELLIDO DEL APELLIDO DEL APELLIDO DEL ÁREA DEL ÁREA DEL INDICADOR
- CODIGO DE AREA PHONUM
- EN EL RECHAZO DEL PARTIDO
- EN NOMATCH INCLUYE
- DATOS
Hay palabras clave para facilitar la modificación (o eliminación) de los datos existentes, y los mensajes de aviso y de error de la sesión interactiva se pueden personalizar.
WebFOCUS
En 1997, [15] se introdujo una versión basada en web de FOCUS llamada "WebFOCUS" que se basó en el acceso a datos y la base de informes de FOCUS, [16] expandiéndolos a un paradigma de cliente ligero orientado visualmente accesible desde cualquier navegador web .
El lenguaje de WebFOCUS tiene una estructura de comando tanto "procedimental" como "no procedimental". El primero es para una ejecución más inmediata, mientras que los segundos "se colocan en una pila de memoria para su ejecución posterior". [17]
Referencias
- ^ incluido UNIX
- ^ "FOCUS 4GL de constructores de información" . Computerworld . 5 de marzo de 1990.
- ^ "Information Builders Focus / VAX" . Computerworld . 31 de marzo de 1986. p. 52.
- ^ a b c d "RAMIS y NOMAD - CSS Nacional" (PDF) . 20 de mayo de 2005.
- ^ Nick Rawlings (17 de marzo de 2014). "La historia de NOMAD: un lenguaje de cuarta generación". IEEE Annals of the History of Computing . 36 : 30–38. doi : 10.1109 / MAHC.2014.10 .
- ^ 1970 o
- ^ "Una breve historia de los lenguajes de cuarta generación" .
- ^ también Per Nick Rawlings '"Una breve historia de los lenguajes de cuarta generación"
- ^ Un consultor escribió: "Cuando investigué la traducción de SAS al producto WebFOCUS BI (basado en un lenguaje de programación 4GL), personalmente consideré algunas de las siguientes características de SAS como obstáculos" y enumeró 11 elementos. "Software de inteligencia empresarial" . 2012-04-30.
- ^ "Enlace WebFocus-Excel reforzado" . Computerworld . 28 de mayo de 2007.
- ^ "Information Builders integra AJAX" . InformationWeek . 9 de marzo de 2006.
- ^ Steve Lohr (20 de mayo de 2007). "La minería de datos se mueve hacia la corriente principal, en busca de ganancias" . The New York Times .
- ^ "DESCRIPCIÓN DEL ARCHIVO MAESTRO (MFD)" .
- ^ "Sinopsis FOCUS: Definición de archivo describe los componentes de una descripción de archivo maestro. Público Este curso es para el profesional de procesamiento de datos y negocios que usa FOCUS". "FOCUS: Definición de archivo" .
- ^ "Introducido en 1997, ..." "WebFOCUS" .
- ^ "WebFocus S / 390" . Computerworld . 9 de junio de 1997.
.. incluye toda la funcionalidad de ... Focus
- ^ "Software BI - WebFOCUS" . 2011-11-13.
enlaces externos
- Sitio web corporativo (Informationbuilders.com)
- Manuales para desarrolladores de FOCUS