Nomad software. NOMAD is a relational database and fourth-generation language (4GL), originally developed in the 1970s by time-sharing vendor National CSS. While it is still in use today, its widest use was in the 1970s and 1980s. NOMAD supports both the relational and hierarchical database models.

NOMAD provides both interactive and batch environments for data management and application development, including commands for database definition, data manipulation, and reporting. All components are accessible by and integrated through a database-oriented programming language. Unlike many tools for managing mainframe data, which are geared to the needs of professional programmers in MIS departments, NOMAD is particularly designed for (and sold to) application end-users in large corporations. End-users employ Nomad in batch production cycles and in Web-enabled applications, as well as for reporting and distribution via the web or PC desktop.

Capabilities
NOMAD is distinguished by five characteristics:
An intuitive database-oriented fourth-generation programming language (4GL) for creating databases, managing data, and writing applications
An interactive environment in which any 4GL statement may be typed and immediately processed (comparable to interactive tools like PHP or Perl)
Relational database features, supporting lookup tables and the other elements of a normalized relational database
Powerful set-at-a-time operations under the control of simple imperative commands
Accesses data from many sources, such as VSAM, IMS, IDMS, DB2, Oracle, and SQL Server.

NOMAD's language was designed to simplify the application development process, especially for reporting applications. Where possible, common requirements were addressed by intuitive nonprocedural syntax elements, to avoid traditional programming. The heart of the system was the LIST command, which created report output.

LIST BY STATE BY CUST_ID NAME PHONE ACROSS STATUS BALANCE WHERE STATE AMONG('CT','NY')

State  Customer ID  Name               Phone         Active    Inactive  New
-----  -----------  -----------------  ------------  --------  --------  ---------
CT            1001  ABC Co.            203-555-1212      1200         0          0
              1012  DEF Co.            203-555-1313         0        50        900
NY            1305  GHI Co.            212-555-1414      2650         0          0

In this example, database fields STATE, CUST_ID, NAME, PHONE, STATUS, and BALANCE are laid out on a grid, with two sort breaks (via BY), generated columns based on data values (via ACROSS), and data selection (via WHERE). Additional keywords could control subtotals, titles, footers, table lookup, and myriad reporting details.

The LIST command is somewhat analogous to the SQL SELECT statement, but incorporates formatting, totaling, and other elements helpful for tailoring output to a business requirement. The SELECT statement, in contrast, is essentially a data query tool: its results would be processed or formatted as required using other mechanisms. This distinction is highlighted by SQL's classification as a 'Data Sublanguage' (DSL): SQL is a powerful formalism for controlling data retrieval. The LIST command is a comprehensive report writer addressing broader functionality.

Another example of NOMAD's power is illustrated by Nicholas Rawlings in his comments for the Computer History Museum about NCSS (see citation below). He reports that James Martin asked Rawlings for a NOMAD solution to a standard problem Martin called the Engineer's Problem: "give 6% raises to engineers whose job ratings had an average of 7 or better." Martin provided a "dozen pages of COBOL, and then just a page or two of Mark IV, from Informatics." Rawlings offered the following single statement, performing a set-at-a-time operation, to show how trivial this problem was with NOMAD:

CHANGE ALL SALARY=SALARY*1.06 WHERE POSITION='ENG' AND AVG(INSTANCE(RATING)) GE 7

Rawlings continues: "[Martin] decided to drop the idea [of showing alternative solutions to the problem]. [The NOMAD solution] was too unbelievable for him. He published his book in 1982 [sic: 1981], with many fine examples of NOMAD, most of which look silly today, for they don't reflect what NOMAD was really used for in the years since: serious, mission critical applications. I used Martin's Engineer's Problem in hundreds of NOMAD classes, as I forced people to think in terms of sets of data, instead of record-at-a-time, which is how they'd been taught."

Early development
NOMAD was developed by National CSS, Inc., at the time in Stamford, Connecticut (later Wilton), by a small team launched in 1973. It was developed to supplant RAMIS, previously a major NCSS offering. The corporate view of NOMAD's importance at the time – and of tensions with the owners of RAMIS – can be deduced from the original NOMAD acronym: NCSS Owned, Maintained, And Developed. 

Unlike RAMIS, which was largely written in FORTRAN,
NOMAD was written entirely in Assembler.

Another RAMIS successor was FOCUS, which evolved in competition with NOMAD. These and other 4GL platforms such as Oracle competed for many of the same customers, all trying to solve end-user information problems without recourse to traditional 3GL programming.

NOMAD was officially released in October 1975 (although customer usage began in May 1975). The NOMAD customer base expanded rapidly, as new categories of users adopted time-sharing data management tools to solve problems they previously could not tackle. NOMAD competed principally with Focus and Ramis for this expanding market.

NOMAD was claimed to be the first commercial product to incorporate relational database concepts. This seems to be borne out by the launch dates of the well-known early RDBMS vendors, which first emerged in the late 1970s and early 80s – such as Oracle (1977), Informix (1980), and Unify (1980). The seminal non-commercial research project into RDBMS concepts was IBM System R, first installed at IBM locations in 1977. System R included and tested the original SQL implementation. The early RDBMS vendors were able to learn from numerous papers describing System R in the late 1970s and early 80s.

NOMAD was released before these industry events, and thus, like System R, NOMAD drew on earlier academic work by relational database pioneers such as E. F. Codd. Early NOMAD development was in particular inspired by Christopher J. Date's influential An Introduction to Database Systems, itself first published in 1975. This book had technical ideas about the relational database model, and included a brief mention of SEQUEL (later SQL). Later editions of the book included NOMAD itself, and Date's approval of NOMAD's support of the relational database model.

At the time, relational database concepts were new; most database systems utilized hierarchical, network, or other data models. Adding relational features to NOMAD's original hierarchical design was evidently a bold move for NCSS. Training materials, such as Daniel McCracken's book (cited below), focused on these relational database features, and their use in rapid application development. A simple methodology letting end-users design effective, normalized relational databases was soon added to the curriculum – and was later taught on campuses throughout the country, in the ACM Lectureship Series, by NCSS emeritus Lawrence Smith. NCSS can thus be seen as an early advocate of relational methods; but this position was soon eclipsed as SQL-based vendors burst onto the scene.

Development: late 1970s
NOMAD was the flagship NCSS product during the firm's years of rapid growth, going through a series of releases and receiving a major share of this (publicly traded) company's R&D, sales, support, and other resources.

NCSS and its time-sharing competitors primarily sold services to large corporations, at a time when most MIS departments were bogged down on huge COBOL implementation projects (see Brooks's famous The Mythical Man-Month for the contemporary mind-set). Because of development backlogs, outside services like NCSS became attractive. Tools like NOMAD made end-users self-sufficient: If they had discretionary budgets, and could get the necessary raw data from their MIS departments, then they could solve their own information problems. Many users were content to answer seemingly simple aggregate reporting questions that baffled the MIS departments of the day – like "rank departments by profitability." Other end-users went beyond basic reporting to build large, mission-critical applications, either by learning the necessary skills, or by hiring their own technicians who didn't report through the MIS hierarchy. NCSS developed a large support infrastructure, including training, consulting, and other services, to foster end-user independence. (Dissatisfaction with traditional MIS methods and resources would later also fuel the personal computer revolution, which in turn would displace time-sharing vendors like NCSS.) [More citations are needed to illustrate: MIS departments of the 70s and 80s; the "Information Center" concept and end-user empowerment in the 80s; the timesharing industry and its role in enabling what became known as "Agile Companies" capable of using information as a competitive advantage. These topics were widely discussed in books and media of the day.]

In the late 1970s, NCSS developed a 'mini-370' product called the NCSS 3200, primarily intended as an in-house platform for running NOMAD under the NCSS operating system VP/CSS (see below). The small, low-cost system was sold as an end-user 'database machine' or 'information warehouse' for extracting and analyzing corporate datasets – analogous to the dedicated mainframes installed at some of NCSS's larger customer sites. Despite limited success, the company lost interest in the 3200 venture, which was scrapped along with the VP/CSS operating system.

Development: 1980s
Until 1982, NOMAD was available only on NCSS's proprietary time-sharing system VP/CSS. During this period, with a few exceptions, NOMAD was used only by interactive time-sharing customers via pay-as-you-go dial-up access. NOMAD's primary status as a time-sharing product – rather than a licensed software product – had a major impact on its initial design, enhancement, sales, training, and support. The first NOMAD customers were inextricably linked to National CSS's service offerings, and to the capabilities of VP/CSS and the NCSS network.

This changed, marking the start of a new era when NOMAD2 was developed in 1982 in conjunction with major customer Bank of America, 
It was released as a separate product under VM in 1982 and under MVS in 1983. It is still available today for the latest versions of z/VM and z/OS. In the late 1980s, NOMAD’s presence expanded to the PC when PC Nomad was released to run under DOS.

Development: 1990 to Present
NOMAD products continued to develop along multiple product lines in the 1990s with support for more sources of data and more operating systems. A new version of NOMAD for Microsoft Windows, Front & Center, was released in 1993. New versions of NOMAD for Unix and VAX were also released, with access to Oracle and SQL server data. Report Painter, a graphical user interface tool for writing reports, was added to the Front & Center product line. RP/Server was also released in the 1990s for accessing mainframe databases as remote databases from a variety of clients, including Report Painter, Front & Center applications, and DDE-enabled Microsoft Windows applications, such as Microsoft Excel. ODB/Server was introduced for transparent access to ODBC-compliant databases from Front & Center.

On the mainframe front, NOMAD added double-byte character support and ran under the Fujitsu operating system. QLIST was added to the mainframe product line, providing a user-friendly environment for developing sophisticated reports without extensive knowledge of NOMAD syntax. NOMAD remains an extremely stable product that is enhanced to keep up with contemporary needs, such as access to Oracle and SQL Server data on mid-tier platforms, full e-mail support and additional types of output formatted in HTML, XML, and PDF.

A new line of products began later in the 1990s, starting with RP/Web. This was the precursor to UltraQuest Applications, giving users the ability to Web-enable their mainframe NOMAD applications. The UltraQuest Reporter product was added to this line-up late in the 1990s, for easy reporting from the Web or from a PC of mainframe data via NOMAD. The experience gained from developing and supporting the QLIST and Report Painter products was applied to the development of UltraQuest Reporter. Their influence is clearly visible in UltraQuest Reporter, but Reporter uses Java and HTML technology to create a more user-friendly environment and provide more services.

The basic philosophy of the NOMAD language, to simplify the application development and reporting processes with an intuitive and powerful syntax, is carried forward into the UltraQuest products. UltraQuest Reporter applies a layer on top of the 4GL to make report-building even easier, without writing any syntax at all, employing an intuitive and powerful graphical user interface. Other features and services make reporting applications and data securely available through the Web to any employee’s PC.

Ownership
Dun & Bradstreet acquired National CSS in 1979 and rebranded it as D&B Computing Services (DBCS).  In 1986 the NOMAD related assets of DBCS were sold to Must Software International of Norwalk, Connecticut (a wholly -owned subsidiary of Thomson-CSF) which became part of Thomson Software Products in 1995 and part of Aonix in 1996. In 1998 Aonix was acquired by the Gores Group from Thompson.
NOMAD was sold and maintained by Select Business Solutions in Trumbull, Connecticut, which was sold by the Gores Group in February 2006 to Avantcé Software.

User base
When NOMAD was released as a licensed software product it was acquired by some of the large corporations that had been using the time-sharing service. These included Exxon and New York Telephone. (A few large users like Bank of America and Standard Oil of California (SOCAL), had previously negotiated site licenses for their own VP/CSS datacenters, most of which ran NOMAD. Most VP/CSS sites eventually migrated to the VM platform) Abbott Laboratories, American Express. Boeing, First Chicago Bank, IC Industries and Motorola were also customers. Other later customers who were new to the product included Imperial Chemical Industries (ICI) and Royal Insurance. With a limited client base came an opportunity for niche suppliers to provide independent application development and support. In the UK this market was filled by BSL International, RCMS, and Rex Software. RCMS became the UK vendors of NOMAD while BSL operated throughout Europe and the US.

NOMAD continues to be used by large corporations and distributors, especially in the financial and health markets.

Notes

References

Further reading

McCracken, Daniel, A Guide to NOMAD for applications development National CSS, 1980]
Date, C. J., An introduction to database systems Addison-Wesley, 1975. . [The first edition of this well-known book only mentioned SEQUEL in a footnote. Later editions feature extensive coverage of SQL.]
Chamberlin, et al., "A history and evaluation of System R" CACM Vol. 24 No. 10, October 1981. [System R was a widely discussed research system during the late 70s and early 80s, familiar to all computer scientists of the day working on database systems, and implementing the first version of SQL. The initial installations of System R at IBM facilities occurred in June 1977.]
Computer History Museum, Corporate Histories Collection. http://www.computerhistory.org/corphist/view.php?s=select&cid=4 [Follow links to numerous first-person recollections of life at NCSS and the history of Nomad.]
Martin, James. Application Development Without Programmers Prentice-Hall, 1981. . [Reported to include "many fine examples of NOMAD."]
 

 XBase (dBASE), a query language with many similarities to Nomad. (Whether these similarities were intentional or not is not currently known.)

Fourth-generation programming languages
Proprietary database management systems
Mainframe computer software
History of software
Assembly language software