NOMAD — это реляционная база данных и язык четвертого поколения (4GL), изначально разработанный в 1970-х годах поставщиком систем разделения времени National CSS . Хотя он все еще используется сегодня, его наиболее широкое применение пришлось на 1970-е и 1980-е годы. NOMAD поддерживает как реляционную, так и иерархическую модели баз данных . [1]
NOMAD предоставляет как интерактивные, так и пакетные среды для управления данными и разработки приложений, включая команды для определения базы данных, манипулирования данными и составления отчетов. Все компоненты доступны и интегрированы с помощью языка программирования, ориентированного на базы данных. В отличие от многих инструментов для управления данными мэйнфреймов, которые ориентированы на потребности профессиональных программистов в отделах MIS, NOMAD специально разработан (и продается) для конечных пользователей приложений в крупных корпорациях. Конечные пользователи используют Nomad в циклах пакетного производства и в веб-приложениях, а также для составления отчетов и распространения через веб или рабочий стол ПК.
NOMAD отличается пятью характеристиками:
Язык NOMAD был разработан для упрощения процесса разработки приложений, особенно для приложений отчетности. Где это было возможно, общие требования были удовлетворены с помощью интуитивно понятных непроцедурных элементов синтаксиса, чтобы избежать традиционного программирования. Сердцем системы была команда LIST, которая создавала вывод отчета.
СПИСОК ПО ШТАТУ ПО CUST_ID ИМЯ ТЕЛЕФОН ПО СТАТУС БАЛАНС ГДЕ ШТАТ AMONG('CT','NY')Состояние Идентификатор клиента Имя Телефон Активный Неактивный Новый----- ----------- ------------------ ------------ ----- --- -------- ---------CT 1001 ABC Co. 203-555-1212 1200 0 0 1012 Компания DEF 203-555-1313 0 50 900Нью-Йорк 1305 Компания GHI 212-555-1414 2650 0 0
В этом примере поля базы данных STATE, CUST_ID, NAME, PHONE, STATUS и BALANCE размещены на сетке с двумя разрывами сортировки (через BY), сгенерированными столбцами на основе значений данных (через ACROSS) и выбором данных (через WHERE). Дополнительные ключевые слова могут управлять промежуточными итогами, заголовками, нижними колонтитулами, поиском по таблице и множеством деталей отчетов.
Команда LIST в некоторой степени аналогична оператору SQL SELECT, но включает форматирование, суммирование и другие элементы, полезные для адаптации вывода к бизнес-требованиям. Оператор SELECT, напротив, по сути является инструментом запроса данных: его результаты будут обработаны или отформатированы по мере необходимости с использованием других механизмов. Это различие подчеркивается классификацией SQL как «подъязыка данных» (DSL): SQL — это мощный формализм для управления извлечением данных. Команда LIST — это комплексный генератор отчетов, охватывающий более широкую функциональность.
Другой пример мощи NOMAD проиллюстрирован Николасом Роулингсом в его комментариях для Музея компьютерной истории о NCSS (см. цитату ниже). Он сообщает, что Джеймс Мартин попросил Роулингса предоставить решение NOMAD для стандартной проблемы, которую Мартин назвал « проблемой инженера» : «дать 6% надбавок инженерам, чьи рейтинги работы имели средний балл 7 или выше». Мартин предоставил «десяток страниц COBOL, а затем всего одну или две страницы Mark IV из Informatics ». Роулингс предложил следующее единственное выражение, выполняющее операцию «множество за раз», чтобы показать, насколько тривиальной была эта проблема с NOMAD:
ИЗМЕНИТЬ ВСЕ ЗАРПЛАТА=ЗАРПЛАТА*1.06 ГДЕ ПОЗИЦИЯ='ENG' И СРЕДНИЙ(ЭКЗЕМПЛЯР(РЕЙТИНГ)) GE 7
Роулингс продолжает: «[Мартин] решил отказаться от идеи [показать альтернативные решения проблемы]. [Решение NOMAD] было для него слишком невероятным. Он опубликовал свою книгу в 1982 году [ так в оригинале: 1981], со множеством прекрасных примеров NOMAD, большинство из которых сегодня выглядят глупо, поскольку они не отражают того, для чего NOMAD на самом деле использовался в последующие годы: серьезных, критически важных приложений. Я использовал «Задачу инженера» Мартина на сотнях занятий по NOMAD, поскольку я заставлял людей мыслить в терминах наборов данных, а не записей за раз, как их учили».
NOMAD был разработан National CSS, Inc. , в то время в Стэмфорде, Коннектикут (позже Уилтон ), небольшой командой, созданной в 1973 году. Он был разработан, чтобы заменить RAMIS , ранее являвшийся основным предложением NCSS. Корпоративный взгляд на важность NOMAD в то время — и на напряженность с владельцами RAMIS — можно вывести из оригинальной аббревиатуры NOMAD: NCSS Owned, Maintained, And Developed .
В отличие от RAMIS, который был в основном написан на FORTRAN , [Примечание 1] NOMAD был написан полностью на Assembler . [Примечание 2]
Другим преемником RAMIS был FOCUS , который развивался в конкуренции с NOMAD. Эти и другие платформы 4GL, такие как Oracle, конкурировали за многих из тех же клиентов, все они пытались решить проблемы с информацией конечного пользователя, не прибегая к традиционному программированию 3GL.
NOMAD был официально выпущен в октябре 1975 года (хотя использование клиентами началось в мае 1975 года). Клиентская база NOMAD быстро расширялась, поскольку новые категории пользователей принимали инструменты управления данными с разделением времени для решения проблем, с которыми они ранее не могли справиться. NOMAD конкурировал в основном с Focus и Ramis за этот расширяющийся рынок.
NOMAD был заявлен как первый коммерческий продукт, включавший концепции реляционных баз данных. Это, по-видимому, подтверждается датами запуска известных ранних поставщиков СУРБД, которые впервые появились в конце 1970-х и начале 80-х годов, таких как Oracle (1977), Informix (1980) и Unify (1980). Основополагающим некоммерческим исследовательским проектом по концепциям СУРБД была IBM System R , впервые установленная в офисах IBM в 1977 году. System R включала и тестировала оригинальную реализацию SQL . Ранние поставщики СУРБД смогли извлечь уроки из многочисленных статей, описывающих System R, в конце 1970-х и начале 80-х годов.
NOMAD был выпущен до этих отраслевых событий, и таким образом, как и System R, NOMAD опирался на более ранние академические работы пионеров реляционных баз данных, таких как EF Codd . Ранняя разработка NOMAD была, в частности, вдохновлена влиятельной книгой Кристофера Дж. Дейта «Введение в системы баз данных» , которая сама впервые была опубликована в 1975 году. В этой книге были технические идеи о модели реляционной базы данных, а также краткое упоминание SEQUEL (позже SQL ). Более поздние издания книги включали сам NOMAD и одобрение Дейтом поддержки NOMAD модели реляционной базы данных.
В то время концепции реляционных баз данных были новыми; большинство систем баз данных использовали иерархические, сетевые или другие модели данных. Добавление реляционных функций к исходному иерархическому дизайну NOMAD было, очевидно, смелым шагом для NCSS. Учебные материалы, такие как книга Дэниела МакКракена (цитируется ниже), фокусировались на этих функциях реляционных баз данных и их использовании в быстрой разработке приложений. Простая методология, позволяющая конечным пользователям проектировать эффективные, нормализованные реляционные базы данных, вскоре была добавлена в учебную программу и позже преподавалась в кампусах по всей стране в серии лекций ACM почетным Лоуренсом Смитом из NCSS. Таким образом, NCSS можно рассматривать как раннего сторонника реляционных методов; но эта позиция вскоре была затмена, когда на сцену ворвались поставщики на основе SQL.
NOMAD был флагманским продуктом NCSS в годы быстрого роста компании, прошел ряд релизов и получил значительную долю ресурсов этой (публичной) компании в области НИОКР, продаж, поддержки и других ресурсов.
NCSS и его конкуренты, работающие в режиме разделения времени , в основном продавали услуги крупным корпорациям, в то время как большинство отделов MIS были увязли в огромных проектах по внедрению COBOL (см. знаменитую книгу Брукса «Мифический человеко-месяц » для современного мышления). Из-за отставаний в разработке внешние службы, такие как NCSS, стали привлекательными. Такие инструменты, как NOMAD, сделали конечных пользователей самодостаточными: если у них были дискреционные бюджеты и они могли получать необходимые исходные данные из своих отделов MIS, то они могли решать свои собственные информационные проблемы. Многие пользователи были довольны ответами на, казалось бы, простые вопросы по совокупной отчетности, которые ставили в тупик отделы MIS того времени, — например, «ранжировать отделы по прибыльности». Другие конечные пользователи вышли за рамки базовой отчетности, чтобы создать большие, критически важные приложения, либо изучая необходимые навыки, либо нанимая собственных технических специалистов, которые не отчитывались через иерархию MIS. NCSS разработала большую инфраструктуру поддержки, включая обучение, консалтинг и другие услуги, чтобы способствовать независимости конечного пользователя. (Неудовлетворенность традиционными методами и ресурсами MIS позже также подстегнула революцию персональных компьютеров , которая, в свою очередь, вытеснила поставщиков систем разделения времени, таких как NCSS.) [Для иллюстрации необходимо привести больше цитат: отделы MIS 70-х и 80-х годов; концепция «Информационного центра» и расширение прав и возможностей конечных пользователей в 80-х годах; индустрия разделения времени и ее роль в обеспечении того, что стало известно как «Гибкие компании», способные использовать информацию в качестве конкурентного преимущества. Эти темы широко обсуждались в книгах и СМИ того времени.]
В конце 1970-х годов NCSS разработала продукт «mini-370» под названием NCSS 3200, [3] в первую очередь предназначенный как внутренняя платформа для работы NOMAD под операционной системой NCSS VP/CSS (см. ниже). Небольшая, недорогая система продавалась как «машина базы данных» или «хранилище информации» для конечного пользователя для извлечения и анализа корпоративных наборов данных — аналогично выделенным мэйнфреймам, установленным на некоторых крупных сайтах клиентов NCSS. Несмотря на ограниченный успех, компания потеряла интерес к предприятию 3200, которое было свернуто вместе с операционной системой VP/CSS. [ необходима цитата ]
До 1982 года NOMAD был доступен только в фирменной системе разделения времени VP/CSS от NCSS. В этот период, за некоторыми исключениями, NOMAD использовался только интерактивными клиентами разделения времени через коммутируемый доступ с оплатой по мере использования. Основной статус NOMAD как продукта разделения времени , а не лицензионного программного продукта, оказал большое влияние на его первоначальный дизайн, усовершенствование, продажи, обучение и поддержку. Первые клиенты NOMAD были неразрывно связаны с предложениями услуг National CSS, а также с возможностями VP/CSS и сети NCSS.
Это изменилось, ознаменовав начало новой эры, когда в 1982 году совместно с крупным клиентом Bank of America был разработан NOMAD2 , [4] он был выпущен как отдельный продукт под VM в 1982 году и под MVS в 1983 году. Он по-прежнему доступен сегодня для последних версий z/VM и z/OS . В конце 1980-х годов присутствие NOMAD распространилось на ПК, когда был выпущен PC Nomad для работы под DOS.
Продукты NOMAD продолжали развиваться по нескольким продуктовым линейкам в 1990-х годах с поддержкой большего количества источников данных и большего количества операционных систем. Новая версия NOMAD для Microsoft Windows , Front & Center, была выпущена в 1993 году. Также были выпущены новые версии NOMAD для Unix и VAX с доступом к данным серверов Oracle и SQL . Report Painter, графический инструмент пользовательского интерфейса для написания отчетов, был добавлен в линейку продуктов Front & Center. RP/Server также был выпущен в 1990-х годах для доступа к базам данных мэйнфреймов как к удаленным базам данных из различных клиентов, включая Report Painter, приложения Front & Center и приложения Microsoft Windows с поддержкой DDE , такие как Microsoft Excel . ODB/Server был представлен для прозрачного доступа к базам данных, совместимым с ODBC, из Front & Center.
На фронте мэйнфреймов NOMAD добавил поддержку двухбайтовых символов и работал под управлением операционной системы Fujitsu . QLIST был добавлен в линейку продуктов мэйнфреймов, предоставляя удобную среду для разработки сложных отчетов без обширных знаний синтаксиса NOMAD. NOMAD остается чрезвычайно стабильным продуктом, который улучшается для соответствия современным потребностям, таким как доступ к данным Oracle и SQL Server на платформах среднего уровня, полная поддержка электронной почты и дополнительные типы выходных данных, отформатированных в HTML, XML и PDF.
Новая линейка продуктов началась позже в 1990-х годах, начиная с RP/Web. Это был предшественник UltraQuest Applications, предоставляющий пользователям возможность веб-активации их мэйнфреймовых приложений NOMAD. Продукт UltraQuest Reporter был добавлен к этой линейке в конце 1990-х годов для легкой отчетности из Интернета или с ПК по данным мэйнфрейма через NOMAD. Опыт, полученный при разработке и поддержке продуктов QLIST и Report Painter, был применен к разработке UltraQuest Reporter. Их влияние ясно видно в UltraQuest Reporter, но Reporter использует технологии Java и HTML для создания более удобной для пользователя среды и предоставления большего количества услуг.
Основная философия языка NOMAD, упрощающая разработку приложений и процессы отчетности с помощью интуитивно понятного и мощного синтаксиса, переносится в продукты UltraQuest. UltraQuest Reporter применяет слой поверх 4GL, чтобы сделать построение отчетов еще проще, без написания какого-либо синтаксиса вообще, используя интуитивно понятный и мощный графический пользовательский интерфейс. Другие функции и сервисы делают отчетные приложения и данные безопасными и доступными через Интернет для ПК любого сотрудника.
Dun & Bradstreet приобрела National CSS в 1979 году и переименовала ее в D&B Computing Services (DBCS). В 1986 году активы DBCS, связанные с NOMAD, были проданы Must Software International из Норволка, штат Коннектикут (дочерней компании Thomson-CSF ), которая в 1995 году стала частью Thomson Software Products , а в 1996 году — частью Aonix . В 1998 году Aonix была приобретена Gores Group у Thompson. [5] NOMAD была продана и поддерживалась Select Business Solutions в Трамбулле, штат Коннектикут , которая в феврале 2006 года была продана Gores Group компании Avantcé Software. [6]
Когда NOMAD был выпущен как лицензионный программный продукт, его приобрели некоторые крупные корпорации, которые использовали службу разделения времени. К ним относились Exxon и New York Telephone . (Несколько крупных пользователей, таких как Bank of America и Standard Oil of California (SOCAL), ранее договорились о лицензиях на сайты для своих собственных центров обработки данных VP/CSS, большинство из которых работали под управлением NOMAD. Большинство сайтов VP/CSS в конечном итоге перешли на платформу VM.) Abbott Laboratories , American Express . Boeing , First Chicago Bank , IC Industries [ какой? ] и Motorola также были клиентами. Другими более поздними клиентами, которые были новичками в этом продукте, были Imperial Chemical Industries (ICI) и Royal Insurance . С ограниченной клиентской базой у нишевых поставщиков появилась возможность предоставлять независимую разработку и поддержку приложений. В Великобритании этот рынок был заполнен BSL International, RCMS и Rex Software. RCMS стала британским поставщиком NOMAD, в то время как BSL работала по всей Европе и США.
NOMAD продолжает [ когда? ] использоваться крупными корпорациями и дистрибьюторами, особенно на финансовом и медицинском рынках.