FOCUS - это язык программирования четвертого поколения (4GL), компьютерный язык программирования и среда разработки, который используется для построения запросов к базе данных. Созданный компанией Information Builders Inc., он изначально был разработан для обработки и анализа данных на мэйнфрейме IBM . Впоследствии были реализованы версии для мини-компьютеров, такие как VAX и другие платформы [1] . [2] [3] FOCUS позже был распространен на персональные компьютеры и (в 1997 г.) на World Wide Web : продукт WebFOCUS .
История
Information Builders «продукт Focus S начал в качестве альтернативного продукта в Mathematica » s Рамис , первый язык программирования четвертого поколения (4GL).
Компания National CSS (NCSS), поставщик системы разделения времени , получила лицензионные права на предоставление RAMIS в своей системе VP / CSS . [4]
В какой-то момент Mathematica изменила лицензионную цену. [5]
Заинтересованными сторонами были: [4]
- NCSS, которая продавала RAMIS (и другие продукты) для использования в их системе разделения времени
- Mathematica, владелец RAMIS
- Ключевые разработчики / программисты РАМИС
- некоторые остались с Mathematica
- другие ушли, чтобы сформировать компанию, которая стала Information Builders, известная своим продуктом FOCUS.
Отношение к другим 4GL
RAMIS был прямым предком FOCUS.
Джеральд Д. Коэн и Питер Миттельман были основными разработчиками RAMIS во время работы в Mathematica Products Group в 1970 году. RAMIS была лицензирована Mathematica ряду внутренних клиентов (включая Nabisco и AT&T Corporation ), а также была предложена National CSS компания с разделением времени. В [6] октябре 1975 г. [7] Коэн покинул Mathematica и сформировал Information Builders, после чего воссоздал продукт, созданный им в Mathematica, в форме FOCUS, который был очень похож на RAMIS: «те же ошибки и та же ошибка с ошибкой. Сообщения." [4] [8]
Синтаксис FOCUS в его простейших элементах является почти прямым клоном синтаксиса RAMIS, имеющим сходство, аналогичное различиям между различными ранними диалектами SQL. В то же время NCSS решила работать над собственным продуктом, позже названным NOMAD . Все три продукта процветали в 1970-х и начале 1980-х годов, при этом FOCUS также предлагался на основе разделения времени через Tymeshare . [4]
Время Mathematica истекло в середине 80-х, и NCSS также потерпел неудачу, став жертвой революции персональных компьютеров, которая устранила коммерческое разделение времени.
RAMIS была продана ряду компаний, в конечном итоге перешедших к Computer Associates . NOMAD постигла похожая участь. FOCUS под руководством Коэна продолжал процветать, расширяя свою продуктовую линейку.
Слабо конкурируя с SAS , [9] FOCUS никогда не достиг такой же степени широкого распространения, возможно, потому, что он имел только базовые аналитические и статистические функции и не имел широкого набора специализированных аналитических инструментов, которые сделали SAS стандартом в таких областях, как фармацевтические клинические испытания. . Вместо этого FOCUS сосредоточился на исключительной гибкости в импорте и экспорте данных, а также на специальной отчетности для конечных пользователей .
Интеграция
Пакеты программного обеспечения, с которыми связан и интегрирован FOCUS , включают:
Конкуренты Business Intelligence
К конкурентам ПО для бизнес-аналитики относятся: [12]
- Бизнес-объекты
- Cognos
- Гиперион
- Microsoft
- MicroStrategy
- SAS
Описание
Хотя FOCUS похож на другие инструменты доступа к данным и анализа, такие как SQL и SAS , он также включает в себя функции отображения и представления отчетов и диаграмм. Он автоматизирует процесс идентификации файлов в операционной системе , открытия входного файла, чтения следующей записи, открытия выходного файла, записи следующей записи и закрытия файлов. Эта базовая операция позволяет пользователю / программисту сконцентрироваться на деталях работы с данными внутри каждой записи, фактически работая почти полностью в рамках неявного программного цикла, который выполняется для каждой записи, что-то вроде RPG (Report Program Generator) . Другие процедуры работают с набором данных в целом, например, печать или статистический анализ , и просто требуют, чтобы пользователь / программист идентифицировал набор данных.
По сравнению с языками программирования общего назначения эта структура позволяет пользователю / программисту быть менее знакомым с техническими деталями данных и тем, как они хранятся, и относительно более знакомым с информацией, содержащейся в данных. Это стирает грань между пользователем и программистом и привлекает людей, чьи рабочие роли связаны с бизнесом или исследованиями, а не с информационными технологиями . Это, в свою очередь, дает обоюдоострый результат, позволяя быстро отвечать на вопросы бизнеса или исследования, даже на те, которые требуют нескольких итераций, чтобы перейти от первоначальных результатов к окончательному; но также может способствовать созданию большого количества плохо написанного и / или сложного в обслуживании исходного кода .
Описание главного файла (MFD)
Уникальной в то время функцией FOCUS было то, что пользователь мог создавать файл описания данных (называемый «описанием главного файла») [13] [14], ссылаясь на фактический файл данных или даже на несколько различных данных. файлы описаний, обращающиеся к одному и тому же файлу данных по-разному, в отличие от обычной практики, когда файловая структура жестко запрограммирована в программе.
Таким образом, файлы любой структуры из любого источника могут быть доступны или созданы множеством различных способов, что устраняет большую часть манипуляций с данными (например, конкатенации или синтаксического анализа), которые иногда требовались с другими более ранними языками программирования. Например, пользователь может получить доступ (чтение или запись) к одному и тому же фактическому файлу данных, поскольку каждая запись представляет собой 80-байтовую текстовую строку или как 40 2-символьных числовых полей, другие как 10 8-байтовых чисел с плавающей запятой и т. Д. просто переписав соответствующее описание главного файла по мере необходимости.
Образцы
- (партия)
- ПЕЧАТЬ ФАЙЛОВ ИМЯ АРЕАКОД ТЕЛЕФОННЫЕ ЗАМЕТКИ
- ПЕЧАТЬ ПРОЕКТА И ПРОЕКТА ПО НАЗВАНИЮ ПРОМЕЖУТОЧНЫЙ ПРОЕКТ ПО ЗАКАЗЧИКУ
Вторая команда создаст отчет с заголовками CUSTNAME CUSTID PROJNAME PROJCOST
- за которым следует одна или несколько строк деталей, за которыми следует
- _TOTAL_ CUSTNAME xxxxx (и $ z, zzz.zz для этого CUSTNAME)
- Внизу отчета будет сумма для ВСЕХ проектов.
- (интерактивный)
- ИЗМЕНИТЬ ФАЙЛ PHONEIDX
- ЗАМЕТКИ PROMPT AREACODE PHONUM LASTNAME FIRSTNAME
- СООТВЕТСТВОВАТЬ AREACODE PHONUM
- ПО МАТЧУ ОТКАЗАТЬ
- НА НОМАТЧ ВКЛЮЧИТЬ
- ДАННЫЕ
Существуют ключевые слова, облегчающие изменение (или удаление) существующих данных, а подсказки и сообщения об ошибках из интерактивного сеанса можно настроить.
WebFOCUS
В 1997 году [15] была представлена веб-версия FOCUS под названием «WebFOCUS», которая построена на основе доступа к данным и отчетности FOCUS [16], расширяя их до визуально ориентированной парадигмы тонкого клиента, доступной из любого веб-браузера .
Язык WebFOCUS имеет как «процедурную», так и «непроцедурную» структуру команд. Первые предназначены для более немедленного выполнения, тогда как вторые «помещаются в стек памяти для последующего выполнения». [17]
Рекомендации
- ^ включая UNIX
- ^ "FOCUS 4GL от Информационных Строителей" . Компьютерный мир . 5 марта 1990 г.
- ^ "Информационные строители Focus / VAX" . Компьютерный мир . 31 марта 1986 г. с. 52.
- ^ а б в г «РАМИС и НОМАД - Национальный CSS» (PDF) . 20 мая 2005 г.
- ^ Ник Роулингс (17 марта 2014 г.). «История NOMAD: язык четвертого поколения». IEEE Annals of the History of Computing . 36 : 30–38. DOI : 10.1109 / MAHC.2014.10 .
- ^ 1970 или
- ^ «Краткая история языков четвертого поколения» .
- ^ также "Краткая история языков четвертого поколения" Пера Ника Роулингса
- ^ Консультант написал: «Когда я исследовал перевод SAS в продукт WebFOCUS BI (на основе языка программирования 4GL), я лично считал некоторые из следующих функций SAS камнями преткновения», и он перечислил 11 пунктов. «Программное обеспечение бизнес-аналитики» . 2012-04-30.
- ^ «Связь WebFocus-Excel усилена» . Компьютерный мир . 28 мая 2007 г.
- ^ «Построители информации интегрируют AJAX» . Информационная неделя . 9 марта 2006 г.
- ^ Стив Лор (20 мая 2007 г.). «Интеллектуальный анализ данных становится мейнстримом в поисках прибыли» . Нью-Йорк Таймс .
- ^ «ОПИСАНИЕ ГЛАВНОГО ФАЙЛА (MFD)» .
- ^ «Сводка FOCUS: определение файла описывает компоненты описания главного файла. Аудитория Этот курс предназначен для профессионалов в области обработки данных и бизнеса, использующих FOCUS». «ФОКУС: определение файла» .
- ^ "Представлен в 1997 году ..." «WebFOCUS» .
- ^ «WebFocus S / 390» . Компьютерный мир . 9 июня 1997г.
.. включает в себя весь функционал ... Focus
- ^ «Программное обеспечение бизнес-аналитики - WebFOCUS» . 2011-11-13.
Внешние ссылки
- Корпоративный сайт (Informationbuilders.com)
- Руководства разработчика FOCUS