The database gateway component controls the mechanism for information passing between
multiple DBMSs. This component allows an application to query and update infor mation that
may be held in multiple databases implemented using different DBMS products. Given a
single SQL statement, this component will automatically direct queries and/or updates
against the relevant database tables regardless of their location.
Gateways provide access to heterogeneous data sources residing on heterogeneous
platforms at distributed locations. Gateways integrate various data sources and create the
appearance that all data resides in a single logical relational database.
Although gateways may vary architecturally, some common attributes shared include:
providing many levels of transparency, providing a turnkey solution for end-users, using
client/server architecture and allowing users to leverage their existing applications.
| Criteria Number |
Requirement |
| 1.0 |
Non-Component Specific |
| 1.1 |
DII COE compliant. |
| 1.2 |
Maintenance/Support provided. |
| 1.2.1 |
Maintenance contract. |
| 1.2.2 |
Phone-in technical support. |
| 1.2.3 |
Toll free support line. |
| 1.2.4 |
24 Hour Support. |
| 1.2.5 |
Version upgrades included as part of the
maintenance contract free of charge. |
1.2.6 |
Web page maintained on the Internet for FAQs
(Frequently Asked Questions). |
| 1.2.7 |
E-mail address for customer support. |
| 1.3 |
Documentation/help provided. |
| 1.3.1 |
Administrator/Installation Guide. |
| 1.3.2 |
Reference Manual. |
| 1.3.2.1 |
On-Line. |
| 1.3.2.2 |
Hardcopy. |
| 1.3.3 |
User's Manual. |
| 1.3.3.1 |
On-Line. |
| 1.3.3.2 |
Hardcopy. |
| 1.3.4 |
Tutorial. |
| 1.3.4.1 |
On-Line. |
| 1.3.4.2 |
Hardcopy. |
| 1.3.5 |
On-line help. |
| 1.3.5.1 |
Context-sensitive. |
| 1.3.5.2 |
Not context-sensitive. |
| 1.3.6 |
A comprehensive start-up kit, containing
necessary information about installation and use of the product is provided. |
| 1.4 |
Training/courses offered include: |
| 1.4.1 |
Administrative. |
| 1.4.1.1 |
On-Site. |
| 1.4.1.2 |
Remote. |
| 1.4.2 |
User. |
| 1.4.2.1 |
On-Site. |
| 1.4.2.2 |
Remote. |
| 1.5 |
The product is warranted by the vendor for Year
2000 compliance. |
| 1.6 |
Supports UNIX-based Solaris platforms. |
| 1.6.1 |
X standard windowing environment. |
| 1.6.2 |
Common Desktop Environment. |
| 1.7 |
Supports the PC Windows 95/NT environment. |
| 1.7.1 |
Microsoft Windows 95. |
| 1.7.2 |
Microsoft Windows NT. |
| 1.7.3 |
Supports VGA and SVGA resolution. |
| 1.7.4 |
Uses dynamic link libraries (DLLs) . |
| 1.7.5 |
Uses common control and common dialog functions
contained in COMCTL32.DLL and COMDLG32.DLL. |
| 1.7.6 |
Does not use MS-DOS functions. |
| 1.7.7 |
Operates under Windows NT. The program should
degrade gracefully (does not require system reboot) if it uses APIs found only in Windows
95 while running in a Windows NT environment. |
| 1.7.8 |
Operates under Windows 95. The program should
degrade gracefully (does not require system reboot) if it uses APIs found only in Windows
NT while running in a Windows 95 environment. |
| 1.7.9 |
Uses only Win32 APIs. |
| 1.7.10 |
Uses the Win32 API Graphics Display Interface
(GDI) for creation of 2D graphics. |
| 1.7.11 |
Uses OpenGL APIs for 3D graphics. |
| 2.0 |
Standards |
| 2.1 |
Provides data access to heterogeneous databases
in accordance with Remote Data Access (RDA) Standards. |
| 2.2 |
Compliant with ANSI/X3.135-1992 SQL and FIPS
PUB127-2. |
| 2.3 |
Provides a SQL Call Level Interface (CLI). |
| 2.4 |
Implementation is compliant with OSF DCE V1.2.x. |
| 3.0 |
Connectivity |
| 3.1 |
Supports a variety of communications protocols
(e.g., TCP/IP, LU 0, LU 2, and LU 6.2, 3270/SNA, 3270/BSC, TN3270, DECnet, IPX, NetBIOS,
POSIT). List protocols supported. |
| 3.2 |
Interoperates with clients that use windowing
environments (e.g., X windows, Motif, CDE, OpenWindows, DEC Windows, Windows 3.1/95/NT).
List environments. |
| 3.3 |
ODBC drivers support following SQL Conformance
Levels: |
| 3.3.1 |
Core SQL Grammar. |
| 3.3.2 |
Extended SQL Grammar. |
| 3.4 |
Provides support for 3-tier
applications including support for multiple databases (same or different database vendors)
and multiple platforms including all of the COE platforms and database management systems. |
| 3.5 |
Provides access to data from an Internet browser |
| 4.0 |
Administration |
| 4.1 |
Installation |
| 4.1.1 |
Allows for customized installation. |
| 4.1.2 |
Installation procedure allows the automatic
detection of: |
| 4.1.2.1 |
Server configuration |
| 4.1.2.2 |
Database parameters. |
| 4.2 |
Configuration |
| 4.2.1 |
Redefines or resets names of
connect descriptors to database server instances. |
| 4.2.2 |
Provides the capability to support multiple
logical database configurations. |
| 4.2.3 |
Supports the ability to determine which logically
separated databases exist. |
| 4.2.4 |
Provides a method to specify the mapping between
a local server table and a remote server object or a host data file. |
| 4.2.5 |
Provides the capability to access a remote server
for: |
| 4.2.5.1 |
Sending RPCs (Remote Procedure Calls). |
| 4.2.5.2 |
Receiving RPCs. |
| 4.2.6 |
Provides native connections to several RDBMSs. |
| 4.2.7 |
Provides National Language support, including
translated message and character set support. |
| 4.3 |
System Management |
| 4.3.1 |
Provides a windows-based graphical user interface
to support interactive registration of requests and monitoring of activity. |
| 4.3.2 |
Provides an interface that allows system
administrators to manage remote servers. |
| 4.3.3 |
Allows system administrators to perform the
following tasks: |
| 4.3.3.1 |
Connect to the gateway. |
| 4.3.3.2 |
Create table definition statements for remote
servers that can be used by the gateway. |
| 4.3.3.3 |
Monitor the gateways performance and
fine-tune it. |
| 4.3.3.4 |
Create User ID mapping between local and remote
servers. |
| 4.3.3.5 |
Manage the remote database schema. |
| 4.3.4 |
Allows the backup of the following database
objects: |
| 4.3.4.1 |
DBMS, database options. |
| 4.3.4.2 |
Database definitions, table definitions, object
ownership, and local views. |
| 4.3.4.3 |
Logins, remote logins and external logins. |
| 4.3.4.4 |
Users and groups. |
| 4.3.4.5 |
Aliases, rules, defaults and permissions. |
| 4.3.4.6 |
User data types. |
| 4.3.4.7 |
Triggers and stored procedures. |
| 4.3.5 |
Recovers its objects. |
| 4.3.6 |
Offers an activity logging capability to enable
database requests to be recorded. |
| 4.4 |
Error Handling |
| 4.4.1 |
Creates an error log file to automatically record
fatal error messages from the servers. |
| 4.4.2 |
Creates an error log file to automatically record
internal error messages. |
| 4.4.3 |
Provides error mapping to map the error from the
remote server to the gateway error message. |
| 5.0 |
Security |
| 5.1 |
Provides basic security features compliant with
the DoD TCSEC Class C2 Control Access Protection. |
| 5.2 |
Provides the capability to store passwords
internally in encrypted form. |
| 5.3 |
Provides the capability to
access libraries of data, based on defined source access rights. |
| 5.4 |
Provides a single login (username, password) for
access to multiple data sources. |
| 5.5 |
Interfaces with existing operating system
security and observes all restrictions currently in place. |
| 5.6 |
Provides security features compliant with the DoD
TCSEC Class B1 labeled security protection. |
| 5.7 |
Supports the sensitivity label data type of the
trusted DBMS products. |
| 5.8 |
Provides the capability to simultaneously process
data of various sensitivities and classifications. |
| 6.0 |
Transaction Processing |
| 6.1 |
Ensures transaction integrity. |
| 6.2 |
Translates data from source
formats to the target formats. |
| 6.3 |
Supports application of predefined data
enhancement routines to specific columns, and sets a protected or re-transmit mode where
applicable. |
| 6.4 |
Performs conversions between relational and
object data. |
| 6.5 |
Provides support for multithreaded applications. |
| 6.6 |
No special coding/configuration is required, even
if the data resides on different operating systems. |
| 6.7 |
Supports location
independence. |
| 6.8 |
Transaction Management |
| 6.8.1 |
Supports automatic multi-database transaction
management across heterogeneous DBMSs including: |
| 6.8.1.1 |
Two-phase commit protocol. |
| 6.8.1.2 |
Dynamic access authorization. |
| 6.8.1.3 |
Database views. |
| 6.8.1.4 |
Automatic concurrency control. |
| 6.8.1.5 |
Automatic restart and recovery. |
| 6.8.2 |
Provides the capability for
asynchronous operations so those client requests are queued and sent when the connection
is available and responses are also queued. |
| 6.8.3 |
Provides the capability to
exchange between nodes: |
| 6.8.3.1 |
Graphics. |
| 6.8.3.2 |
Text data. |
| 6.8.4 |
Services each database
transaction by precedence and within precedence by time of receipt. |
| 6.8.5 |
Queues undeliverable database
updates by precedence and within precedence by time of receipt. |
| 6.8.6 |
Provides the means to assign
precedence classes to all information transfers. |
| 6.8.7 |
Assigns a default precedence
(routine) if no precedence is assigned. |
| 6.9 |
Query Support |
| 6.9.1 |
Users requests are automatically translated
into the SQL that is supported by the remote DBMS. |
| 6.9.2 |
Supports distributed
transactions among multiple remote heterogeneous databases with a single SQL statement to
allow: |
| 6.9.2.1 |
Joins. |
| 6.9.2.2 |
Inserts. |
| 6.9.2.3 |
Updates. |
| 6.9.2.4 |
Deletes. |
| 6.9.2.5 |
Views. |
| 6.9.2.6 |
Stored procedures. |
| 6.9.3 |
Provides the capability to
execute named sequences of SQL statements at the request of an application program. |
| 6.9.4 |
Supports the notification of
applications when a database transaction cannot be performed. |
| 6.9.5 |
Provides the capability to cancel an active
query. |
| 6.10 |
Routing |
| 6.10.1 |
Provides the capability to
detect primary database unavailability and direct database queries to alternate DBMSs. |
| 6.10.2 |
Provides the capability to
forward all database transactions to any available database server on the network capable
of servicing the request. |
| 7.0 |
Data Access/Queries |
| 7.1 |
Provides the capability to
access data files identified by logical, not physical, file names. |
| 7.2 |
Provides the capability to perform global query
optimization. |
| 7.3 |
Accesses non-relational databases (e.g., IMS,
VSAM, IDMS, RMS, and ISAM). List databases. |
| 7.4 |
Accesses relational databases (e.g., DB2, Oracle,
Sybase, Informix, Ingres, Microsoft SQL Server). List databases. |
| 7.5 |
Supports access to: |
| 7.5.1 |
Standard SQL data types. |
| 7.5.2 |
User-defined data types. |
| 7.5.3 |
Text data types. |
| 7.5.4 |
Multimedia (Image) data types. |
| 7.5.5 |
32 bit file formats. |
| 7.6 |
Allows users to build their own access modules or
customized drivers to access unique data sources. |
| 7.7 |
Provides the capability to
execute the following ad hoc database queries: |
| 7.7.1 |
Relational. |
| 7.7.2 |
Spatial. |
| 7.7.3 |
Combined. |
| 7.8 |
Provides the capability to
retrieve data according to multiple search criteria. |
| 8.0 |
Application Programming Interface |
| 8.1 |
Provides the capability to
issue SQL statements through API function calls. |
| 8.2 |
Provides a transaction
processing API that is independent of the database management system. |
| 8.3 |
ODBC Drivers support the following API
Conformance Levels: |
| 8.3.1 |
Core API. |
| 8.3.2 |
Level 1 API. |
| 8.3.3 |
Level 2 API. |
| 8.4 |
Provides Ada interfaces for
all public APIs. |
| 8.5 |
APIs support programming languages other than
Ada. |
| 8.6 |
Provides multiple types of access support (e.g.,
ODBC, DB-Library, DDCS/2, OCI, X/Open, SequeLink, EDA/SQL, DAL, Preprocessor-based
mechanism to establish and maintain links with a server, DAO (Direct Access Objects), DLL,
OLE). |
| 9.0 |
User Interface |
| 9.1 |
Provides a common Graphical
User Interface (GUI). |
| 9.2 |
Allows users to interact with databases through
conventional front-end interfaces and methods, such as the following: |
| 9.2.1 |
Interactive queries from a terminal. |
| 9.2.2 |
Embedded SQL in computer software programs. |
| 9.2.3 |
Callable multi-vendor API interfaces (e.g.,
ODBC). |
| 9.2.4 |
4GL development tools. |
| 9.2.5 |
Vendor-specific SQL pass directly to the DBMS. |
| 9.2.6 |
Stored procedures. |
| 9.2.7 |
SQL extensions. |