Availability Guide for Application Design
Designing Applications for Change
Availability Guide for Application Design—525637-004
10-4
Considering Portability Requirements
management system. Many COBOL compilers also provide extensions to cover
features such as screen handling or message queuing specific to the platform for
which they were developed.
Using a client/server model with service-based and framework-based server logic
(described in Preserving Investments Through Services and Frameworks on
page 10-12) can isolate many of these differences from the body of the business logic.
The business logic can limit itself to ISO standards and so simplify the movement of
the valuable application resource between compilers.
HP is formalizing its position on COBOL compatibility between the NonStop operating
system and Windows NT Server. Both a native COBOL compiler and the legacy
COBOL85 compiler are available on NonStop operating system systems. Modifications
included in the NonStop Software version of NonStop SQL/MP simplify the task of
integrating that product with independent COBOL technology.
Developers using COBOL should maximize the ability of the NonStop operating
system middleware products to shield the application logic from its environment, and
should use NonStop SQL/MP APIs for data access, in preference to structured file
system access via the COBOL I/O verbs.
SQL APIs
SQL challenges COBOL as the greatest portability success story in commercial data
processing. However, despite progress toward ANSI/ISO standardization, no
completely compatible implementation of the language exists today. Anyone
developing in SQL who wishes to retain the ability to migrate an application between
relational database management systems from different vendors must either limit
functionality to some subset of the capabilities of the available implementations or
engineer the application to ensure maximum convenience in accessing and amending
SQL statements.
While creating the NonStop Software products, HP enhanced its NonStop SQL/MP
product to include a higher degree of ANSI/ISO compliance. This involved some
divergence in the APIs provided between the original product and its enhanced
version; for example, the introduction of ANSI-standard table naming to replace syntax
specific to the NonStop operating system. The enhanced NonStop SQL version is
NonStop SQL/MX. Thus, NonStop operating system developers need to make choices
during the introduction period of NonStop SQL/MX. Developers can choose to use the
NonStop SQL/MP product and maximize functionality, performance, and scalability at
the cost of reducing portability; or they can use the initial release of NonStop SQL/MX,
and accept the settling-in period that typically accompanies any major new release.
In either case, the isolation of SQL statements in separate source and object modules
is recommended. Such separation reflects the MODULE concept from the ISO-92 SQL
standards and increases the ease with which statements can be verified and tuned; it
also simplifies the introduction of workstation-based development technology.
In addition to application-based data access, gateway access can be provided for
client-based tools. To simplify the ability of such tools to support all host relational