Niakwa Data Manager
IntroductionThe computer industry today is flooded with powerful and exciting products which can both use and enhance your data files. The trick is finding a reliable and portable interface that will provide you the data independence necessary to access these products. Niakwa's Data Manager (NDM)* provides the perfect solution. NDM is an Application Program Interface (API) that allows your applications to utilize state-of-the-art native Industry Standard Access Method (ISAM) products to store data, while retaining full portability. With NDM, you'll experience complete data independence. This freedom to share data files with a variety of third-party products (i.e. Informix, SQL, Xtrieve) will greatly enhance the value and functionality of your applications. End users will be able to generate exciting reports, presentations, and spreadsheets by using NDM to access these products. The Data Manager was designed so that applications need to be developed only once. After the initial development, moving applications from one platform to another is as simple as obtaining the Data Manager Package (Pak) and supported native ISAM for that specific platform. This data sheet provides a full orientation to the features, benefits, functionality, and performance of the Niakwa Data Manager. * Use of the Niakwa Programming Language is a requirement to run NDM. Back to Top Technical Brief
NDM consists of a set of subroutines that can be called by the application program by use of simple GOSUB' statements (i.e., GOSUB' NDM_CREATE_FILE). 
NDM provides an API to the native ISAMs which, then, perform all of the actual data management for NDM. Supported ISAMs include: - Btrieve Technologies' Btrieve
- Informix's C-ISAM
- IBM's OS/400

Using these native ISAMs, NDM is able to access a variety of application data files. 
Depending upon the third-party product being used, the application files may be read and written to, or read only. BenefitsThe Niakwa Data Manager provides developers numerous benefits, including: - Data Independence
- Programmer Productivity
- Performance
Back to Top Data IndependenceWhen using an ISAM, data files are independent and, thus, allow third-party products to access your data files. Data independence benefits developers at several levels: - Off the shelf query/report tools; such as, Xtrieve, IQ, Crystal Reports, etc. can be used to access your application data.
- Using easily obtainable conversion programs, your data files can be accessed by third-party products (i.e., Focus, Lotus, and SQL).
This also allows you to add new functionality to your applications with minimal effort. PerformanceNDM adds minimal overhead to native ISAM performance. Thus, NDM application I/O performance is usually equivalent to that of the native ISAM. Applications using NDM generally realize substantial performance gains due to NDM's elimination of file access bottlenecks. Each data file is designated as a stand-alone file. One user may lock a file while a second user continues to access other files. In addition, support for record locking allows applications to reduce or eliminate the need for file locking, thus, multiple users can update data in the same file concurrently. Application performance is also significantly improved by use of native ISAM capabilities (i.e., buffering and caching). Back to Top FeaturesThe Niakwa Data Manager provides: - Multiple Indices
Each key may contain up to 8 segments. A total of 24 key segments per file may be defined. - File and Record Locking
Support for both file and record locking is provided. This allows multiple users to access different records in a file simultaneously without encountering conflicts. - Native File Storage
All data is stored in expandable, stand-alone native files. You'll never receive a file full warning. - SEEK Functions
Searching for specified key values, seek functions support =,>,<,>=,<=, start-of-file, and end-of-file specifications. - Transaction Start, End, Abort
These features allow operations to be logically grouped into transactions. Partially completed transactions can be backed out of the database in the event of an error or hardware failure. - Data Conversion Functions
NDM's data conversion facilities automatically convert native ISAM data types to NPL data types, as specified in a programmer defined data dictionary. This allows the application to work with different ISAMs without modification while maintaining data in the native format so that it is fully accessible by third-party products. - Data Dictionary Files
NDM's data dictionary files simplify file maintenance by allowing you to efficiently catalog and track data files, formats, and indices. - Utility Programs
The NDM Utility Programs allow for the easy creation and maintenance of data dictionary files and other support files. Also included are utilities for migrating user data files from one platform to another. - Field Type Support
NDM supports not only NPL, but also native field types. This allows for more convenient and complete programming capabilities. - Special API Functions
These functions provide access to native ISAM specific features. - Platform Specific Toolbox Feature
NDM provides access to extended platform specific features. This provides you the opportunity to utilize a variety of convenient development features.
Back to Top PackagingNDM is sold in packages, including: NDM Development SoftwareAvailable for all platforms supported by NDM, the development software must be installed on each development system. NDM Development DocumentationThe Programmer's Guide and hardware/OS specific instructions are available for all operating environments supported by NDM. NDM RunTime PackageThe NDM RunTime Package is unsecured and copyable (no user limit or security) which makes NDM a very cost effective data management tool. NDM is packaged and sold by operating system as follows: - MS-DOS environments (MS-Windows/NetBIOS/Novell NetWare/386/DOS-Extender)
- Intel Unix
- AIX (IBM's RS/6000)
- IBM's OS/400
| Maximum Limits |
|---|
| Description | NDM | Btrieve | C-ISAM | OS/400 |
|---|
| Record Length | 4090* | 32767 | 32767 | 32766 |
|---|
| Key Length | 120* | 255 | 120 | 255 |
|---|
| No. of Keys/File | 8* | 119 | unlimited | 100 |
|---|
| No. of Segs/Key | 24* | 119 | 8 | 119 |
|---|
* Extended on platforms where larger values are supported.
Back to Top | System Requirements |
|---|
| Hardware | Operating System | Operating Environment | ISAM Supported |
|---|
| IBM and 100% Compatibles | MS-DOS 3.1 or greater | Novell Netware 2.11 or greater. MS-Windows 3.0 or greater. | Btrieve 5.0 or greater. |
|---|
| Approved Intel-based 80386 or greater | Intel Unix | Altos UNIX AT&T UNIX Interactive UNIX SCO UNIX | C-ISAM 4.00 or greater for the specific operating environment in use. |
|---|
| IBM RS/6000 | AIX Version 3.XX or greater. | C-ISAM 4.00 or greater. | C-ISAM 4.00 or greater. |
|---|
IBM AS/400 Server IBM 80286 and 100 % Compatible or greater clients | OS/400 V2R3M0 or greater MS-DOS 5.0 or greater. | MS-Windows 3.1 or greater. | Native AS/400 |
|---|
Auxiliary Components- Error Handling
NDM error codes are identical across operating environments and native ISAMs, thus, applications can check for error code values and act accordingly. - NDM Utilities
NDM provides a method for easily creating, deleting, viewing, and modifying NDM support and application data dictionary files (a commented source code version is available upon request). - Online Help
Bundled into the NDM Utility, this facility provides a convenient on-line reference to all NDM API calls. - Field Type Conversion
NDM provides functions for easy conversion between NPL and native ISAM-supported field types. - ISAM Feature Support
A "toolbox" feature supports specific native ISAM functions not supported by all native ISAMs. - BESDK
The BESDK feature supports mixed language programming by providing object files, source code, and example MAKE procedures for external routine integration. - Export to IQ
NDM allows you to easily export the data dictionary and key description components of your Btrieve files into an IQ data description file, thus, allowing end users passive access to their data files for report generation purposes.
Back to Top Supported Environments| AIX | NetBIOS | | Intel Unix | Novell NetWare | | MS-DOS | OS/400 | | MS-Windows | 386/DOS-Extender |
NOTE: SuperDOS, Xenix, and VMS are currently unsupported. Technical SupportNiakwa provides one of the most prompt and comprehensive support systems in the industry today. In 1993, 99% of all Niakwa support calls were responded to within one hour, with an average resolution time of 15 minutes or less. File Manipulation CallsNDM_CLOSE_FILE NDM_CREATE_FILE NDM_CREATE_FILE_FROM_CATALOG NDM_CREATE_INDEX NDM_CREATE_KEY_TABLE NDM_DELETE_FILE NDM_DELETE_INDEX* NDM_OPEN_FILE NDM_OPEN_FILE_FROM_CATALOG NDM_SET_CURRENT_INDEX
Information Type CallsNDM_GET_ISAM_ERROR_CODE NDM_GET_CATALOG_ENTRY NDM_GET_CONFIGURATION NDM_GET_CONVERSION_TABLE_LIST NDM_GET_CURRENT_INDEX NDM_GET_DEFAULT_FIELD_TYPE NDM_GET_ERROR_DESCRIPTION NDM_GET_FILE_STATUS NDM_GET_FORMAT_SPEC_FOR_KEY NDM_GET_FORMAT_SPEC NDM_GET_HANDLE_SIZE NDM_GET_LIMIT_HIGHWATERS NDM_GET_OPEN_FILE_LIST NDM_GET_POSTION* NDM_GET_RECORD_LENGTH_FROM_DD NDM_GET_TOOLBOX_STATUS NDM_GET_TRANSLATION_TABLE
Back to Top Record Manipulation CallsNDM_APPEND_UNIQUE_KEY_RECORD NDM_DELETE_RECORD NDM_INSERT_RECORD NDM_READ_RECORD_BY_KEY NDM_READ_RECORD_BY_POSITION NDM_REWRITE_RECORD NDM_SET_POSITION* NDM_SET_READ_BLOCKING NDM_UNLOCK_ALL_RECORDS
Conversion CallsNDM_CONVERT NDM_CREATE_CONV_TABLE_FOR_KEY NDM_CREATE_CONVERSION_TABLE NDM_CREATE_CONV_TABLE_FOR_KEY_FROM_CAT NDM_CREATE_CONV_TABLE_FROM_CAT NDM_DESTROY_CONVERSION_TABLE
Configuration CallsNDM_INITIALIZE NDM_SET_TOOLBOX_STATUS NDM_SET_TRANSLATION_TABLE NDM_SET_MAX_KEY_SEGS NDM_TRANSACTION_ABORT* NDM_TRANSACTION_COMPLETE* NDM_TRANSACTION_START*
IBM AS/400 Specific CallsNDM_ESTABLISH_CONNECTION NDM_SET_INDEX_FILE_NAME NDM_CREATE_DEFINED_FILE NDM_GET_INDEX_FILE_NAME
* Platform dependent feature Back to Top
Return to NPL Product Return to Home Page |