ADABAS

From Wikipedia, the free encyclopedia
  (Redirected from NATURAL)
Jump to navigation Jump to search

ADABAS, a contraction of “adaptable database system",[1][2] is a database package that was developed by Software AG to run on IBM mainframes. Launched in 1971 as a non-relational[3] software package, earnings reports for the package's vendor were being followed by The New York Times in the early 1980s.[4]

As of 2017, ADABAS is marketed[5] for use on a wider range of platforms, including Linux, UNIX and Windows.[6]

History[edit]

ADABAS was developed to handle shortcomings of RDBMSes with the 3rd normal form, and makes it possible to store multiple data relationships in the same table. Since there are no data redundancies,[7] such as found in relational database systems, leaving ADABAS can mean a significant increase in disk storage space.[8]

Initially released by Software AG in 1971[9] on IBM mainframe systems using DOS/360, OS/MFT or OS/MVT, Adabas, is currently available on a range of enterprise systems including, BS2000, z/VSE, z/OS, Unix, Linux, and Microsoft Windows.[10] Historically, Adabas is frequently used in conjunction with Software AG's programming language NATURAL, so that many applications that use Adabas as a database on the back-end are developed with Natural. In 2016, Software AG announced that Adabas and Natural would continue to be supported through the year 2050 and beyond.[11]

ADABAS has been described as one of the three major inverted-list DBMS packages, the other two being Computer Corporation of America’s Model 204 and ADR’s Datacom/DB.[12]

4GL support[edit]

Beginning with the 1979 introduction of Natural[13][14] access to ADABAS databases has grown. By 1990 SAS[15] was also supporting ADABAS.

Non-relational[edit]

Writing partly in the past tense, IBM described ADABAS/Natural as "applications that are written in a pre-relational database, such as Adabas, are no longer mainstream and do not follow accepted IT industry standards."[16] However, this assessment neglects the fact that an Adabas database can, if preferred, be designed in accordance with the relational model. While there are tools and services to facilitate conversion,[17][18], there is a mix of costs and benefits.[7][19] Not all agree on the end target,[20] which can include COBOL, C# or JAVA.[21]

Hardware zIIP boost[edit]

IBM's zIIP (System z Integrated Information Processor) special purpose processors permit "direct, real-time SQL access to Adabas" (even though the data may still stored in a non-relational form).[22]

Adabas Data Model[edit]

Adabas is an acronym for Adaptable Data Base System[23] (originally written in all caps, today only the initial cap is used for the product name)

Adabas is an inverted list data base, with the following characteristics or terminology:

  • Works with tables (referred to as files) and rows (referred to as records) as the major organizational unit
  • Columns (referred to as fields), as components of a content unit
  • No embedded SQL engine. SQL access via the Adabas SQL Gateway was introduced (through an acquired company, CONNX) in 2004 to handle the SQL shortcoming.[24] It provides ODBC, JDBC and OLE DB access to ADABAS and enables SQL access to Adabas using COBOL programs.
  • Search facilities may use indexed fields or non indexed fields or both.
  • Does not natively enforce referential integrity constraints, i.e. parent-child relations must be maintained by application code.
  • Supports two methods of denormalization: repeating groups in a record ("periodic groups"); and multiple value fields in a record ("multi-value fields").

Adabas is typically used in applications that require high volumes of data processing or in high transaction online analytical processing environments.[25]

Adabas access is normally via direct calls, which Natural and/or SQL Solutions perform under the covers (similar to how Oracle Databases operate).[citation needed]

Example of Natural program running against Adabas[edit]

FIND EMPLOYEE WITH NAME = 'JONES' OR = 'BAKER'
 AND  CITY  = 'BOSTON' THRU 'NEW YORK'
 BUT NOT  'CHAPEL HILL'
 SORTED BY NAME
 WHERE SALARY  < 28000
  DISPLAY NAME FIRST-NAME CITY SALARY
END-FIND 
END

Output of Program:

NAME  FIRST-NAME CITY      ANNUAL SALARY 
----------------------------------------
BAKER PAULINE    DERBY     4450
JONES MARTHA     KALAMAZOO 21000
JONES KEVIN      DERBY     7000

Natural (4GL)[edit]

NATURAL is a 4GL; it wasn't part of the initial (1971) ADABAS software.[26]

Programs can be run interpretively or natively, if compiled.[27] In the latter mode, they can more directly use operating-system services, and thus run faster.

Some of its supporters claim that its evolution has brought it into from COBOL-oriented to "being in competition with Java as language of choice for writing services (SOA)."[28]

About NATURAL[edit]

Natural, which includes a built-in screen-oriented editor, has two main components:

  • the System and
  • the Language.

The system is the central vehicle of communication between the user and all other components of the processing environment.

The language is structured and less procedural than conventional languages.

Natural objects (programs, maps, data areas, etc.) are stored in libraries, similar in structure to the DOS directory, and can be named with identifiers up to 8 characters.

Objects, even though they are of different type, cannot have the same name.

There is both an Online and a batch execution and programming testing utility.

Versions exist for MVS, UNIX , OS/2 and Windows. It belongs to the Imperative Paradigm where the Imperative Programming is used, to know more about paradigms of programming visit: Paradigm of programming.

Language features[edit]

Natural is not limited to ADABAS files; it also supports Oracle, DB2 and others.

Sample code:

DEFINE DATA LOCAL                                     
01 EMPLOYEES VIEW OF EMPLOYEES                        
  02 SALARY (1)                                       
END-DEFINE                                            
READ EMPLOYEES BY NAME                                
  AT END OF DATA                                      
    DISPLAY                                           
      MIN (EMPLOYEES.SALARY(1)) (EM=ZZZ,ZZZ,ZZ9)        
      AVER(EMPLOYEES.SALARY(1)) (EM=ZZZ,ZZZ,ZZ9)        
      MAX (EMPLOYEES.SALARY(1)) (EM=ZZZ,ZZZ,ZZ9)        
  END-ENDDATA                                         
END-READ                                              
END

Output:

Page      1                                                  18-08-22  16:42:22
                                                                               
  ANNUAL      ANNUAL      ANNUAL                                               
  SALARY      SALARY      SALARY                                               
----------- ----------- -----------                                            
                                                                               
          0     240,976   6,380,000                                            

The language is strongly-typed, using explicit typing of variables, which may be one of:

  • Alphanumeric (up to 253 characters in size)
  • Numeric (up to 7 decimal places, or perhaps 7 bytes and 27 digits; ?translator bungle?)
  • Compacted (presumably Packed Decimal, same limits as "Numeric")
  • Integer (1, 2 or 4 bytes, ranging from -128 to 127 / -32,768 to 32,767 and -2,147,483,648 to 2,147,483,647)
  • Date
  • Hour
  • Logical (True or False)
  • Binary (a single byte, according to the translator)
  • Control (Map control attribute)??
  • Floating Point (4 or 8 bytes)

The System File[edit]

The System File is an ADABAS file reserved for use by Natural, which contains, but is not limited to the following:

  • All Natural programs, both in source format (programs) and in object format (compiled), grouped in libraries;
  • File Definition Modules, or Data Definition Modules (DDMs), with the definition for the Natural of ADABAS files and their userviews;
  • Natural error messages;
  • The texts of the "Help" function.

Programs[edit]

The Natural programs, fonts and objects are identified by names with the same MS/DOS-like limits as the names of the libraries, that is, up to 8 characters, the first alphabetical. Sources and objects can (but should not) have different names.

The source programs are formed by rows of up to 72 positions, numbered by 4 digits. This numbering is generated by Natural during program creation and is used by the Compiler and Editors, and has important logical functions of the programs.

Within the lines, the instructions (statements or program commands) are free, with no instructions or positional parameters. Comments can be included in two ways:

  • Full-line comments are identified by a "*" or "**" prefix.
  • Annotated code lines have a "/*" - everything to its right is a comment.

Examples:

0010 * These two lines (0010 and 0020)
0020 ** are comments.
0030 FORMAT LS = 80 / * As well as this part of the line (0030)
0040 * NOTE: The "/ *" form has a space between the SLASH and ASTERISK.
.
.
0200 END

The "END" or ". "Indicate end of program.

A code example of a "Hello, World!"

* Hello World in NATURAL
WRITE 'Hello World!'
END

See also[edit]

References[edit]

  1. ^ S.M. Deen (1977). Fundamentals of Data Base Systems. p. 174. ISBN 1349158437.
  2. ^ "Adaptable Data Base System, or ADABAS, was developed by Software AG of Darmstadt, West Germany. Its first version appeared in 1971, and by now it has over 80 installations in Europe and the United States."
  3. ^ "Historically, the solution was to use nonrelational structures, such as the inverted structure used by Adabas ..." John Watson (2007). Pro Oracle Collaboration Suite 10g. p. 324. ISBN 1430202351.
  4. ^ "SOFTWARE AG SYSTEMS GROUP INC reports earnings for Qtr to Aug 31". The New York Times. October 6, 1982.
  5. ^ formerly named with ALL-caps, today as Adabas
  6. ^ "Adabas for Linux, UNIX & Windows".
  7. ^ a b "Adabas to DB2 conversion".
  8. ^ The seemingly objective example cited by one public company was a jump of 7 disk drives to 120, but with 2 years and $30 million that was cut back considerably.
  9. ^ "Adabas continues to play a vital role for installed base". Retrieved 12 February 2017.
  10. ^ "Adabas & Natural Database Management System - Software AG". Retrieved 12 February 2017.
  11. ^ http://www.businesswire.com/news/home/20160831005145/en/Software-AG-Announces-%E2%80%9CAdabas-Natural-2050%E2%80%9D-Agenda
  12. ^ "Software AG memories". March 25, 2011. ADABAS was .. one of the three major inverted-list DBMS, the other two being Computer Corporation of America’s Model 204 and ADR’s Datacom/DB.
  13. ^ "Adabase new products". Computerworld. May 29, 1978. p. 27.
  14. ^ "Both the Adabas Data Dictionary System and the Adacom batch report writer are due out in July while Natural, a natural programming language, is expected to be ... Described as entirely reentrant, multithreaded and priority dispatched, the system is in Alpha testing and scheduled for general release in January 1979.
  15. ^ "SAS/ACCESS 9.2 Interface to ADABAS: Reference" (PDF).
  16. ^ "Converting Adabas to IBM DB2 for z/OS" (PDF).
  17. ^ "ADABAS Database Migration to IBM DB2, Oracle, Microsoft SQL Server".
  18. ^ "... including the conversion of any applications written in 4th Generation languages (4GL) to more contemporary languages, and the adaptation of any applications in standard programming languages to directly access the new relational database. Included in that coverage is Adabas and Natural from Software AG ..."
  19. ^ "COSTS: "So far its been 2 years and 30 million dollars to convert." _versus_ BENEFITS: (but) "a single SQL statement (with joins) to replace pages of code."
  20. ^ COBOL/DB2 vs JAVA: "Automated Tool for Converts ADABAS/Natural to Java".
  21. ^ "AUTOMATED CONVERSION NATURAL/ADABAS" (PDF).
  22. ^ "5 Ways to Simplify Access to Adabas & Natural with Data Virtualization" (PDF). 1990.
  23. ^ Pratt & Adamski 1987, p. 471
  24. ^ "CONNX for Adabas | CONNX Solutions". www.connx.com. Retrieved 2017-09-01.
  25. ^ "WHAT IS ADABAS?".
  26. ^ "Adabas / Natural – From pioneer to relegator - fast and proprietary for over 40 years".
  27. ^ "Natural Program Activity".
  28. ^ "Which is better, COBOL/DB2 or Natural/ADABAS". July 6, 2011.

Bibliography[edit]

  • Pratt, Philip J.; Adamski, Joseph J. (1987). DATABASE SYSTEMS: Management and Design. Boston: Boyd & Fraser Publishing Company. ISBN 0-87835-227-9.

External links[edit]