Availability Guide for Application Design
Designing Applications for Change
Availability Guide for Application Design—525637-004
10-8
Considering Portability Requirements
within the single-image APIs of the supporting platform, as they are in the NonStop
operating system file system and NonStop Transaction Services/MP (NonStop
TS/MP) process management.
Developing For the Platform Architectures
To develop an application capable of exploiting any of these platform architectures
requires avoiding direct use of shared-memory structures within the application.
Instead, one or both of the following approaches should be taken:
•
An API representing a message-passing abstraction is required such that the
abstraction can be mapped onto a shared-memory mechanism or a genuine
message-passing mechanism by a small platform-specific library.
•
A middleware product such as a transaction processing monitor, a relational
database management system, or an application generator that supports all three
architectures could be used.
These engineering steps are necessary for applications that target clustered platforms
because no international standard for a single-image API exists.
Application Architectures and Processing Types
The architecture of an application is defined by the flow of processes through which an
individual request is received, processed, and replied to. It also includes the manner in
which concurrent requests are handled and how resources are shared within and
among applications.
Basic architecture types include:
•
Batch, including:
°
Transaction/master batch updating
°
Consolidated batch reporting
°
Exception batch reporting
•
Asynchronous queued transaction processing
•
Middleware/infrastructure workflow processing
•
Online transaction processing (OLTP)
An application can include a mixture of these architecture types. Of these, significant
portability considerations exist for batch and OLTP architectures.
Batch
Batch applications are often considered to be architecturally platform-independent.
This is not necessarily so. Two major considerations for enterprise clustered
systems are parallelization of a jobstream and concurrent OLTP execution. To
operate successfully within a response window, a batch job may have to be
executed as multiple concurrent jobstreams, each targeted at some coherent
subset of the total task—possibly with initial work-allocator and final results-
consolidation steps.