Service

Satisfies the request (such as, send the file or run the CGI)

Data Filter

Gives write access to the outgoing data stream.

Log Allows transaction logging.

Error Allows customized responses to error conditions.

PostExit

Allows cleanup of resources that are allocated for request processing.

Server Termination

Allows cleanup processing when an orderly shutdown or restart occurs.

Application functions

Use the following function prototype syntax to write your own program functions for the defined request steps.

Each of your functions must fill in the return code parameter with a value that indicates the action that is taken.

vHTTP_NOACTION (value of 0) means no action that is taken.

vOtherwise, one of the valid HTTP return codes is expected, indicating that the application function handled the step. As a result, no other application functions are called to handle that step of this request.

The function prototypes for each request step show the format to use and explain the type of processing they can perform. You must give your functions unique names and can choose your own naming conventions. For ease of association, these names relate to the server’s request processing steps.

Server Initialization

void

HTTPD_LINKAGE ServerInit(

unsigned char *handle, unsigned long *major_version, unsigned long *minor_version, long *return_code);

This function is called once when your module is loaded during server initialization. This is your opportunity to perform initialization before any requests have been accepted. Although all server initialization functions are called, error return codes from this step cause the server to ignore all other functions that are configured in this program.

PreExit

void

HTTPD_LINKAGE PreExit(

unsigned char *handle, long *return_code);

This function is called after the request is read, but before any processing has occurred.

All server-predefined functions are valid during this step.

Authentication

void

HTTPD_LINKAGE Authentication(

unsigned char *handle, long *return_code);

Chapter 7. Writing Server API programs 111

Page 121
Image 121
IBM AS/400E manual Application functions, Service, Data Filter, PostExit, Server Termination

AS/400E specifications

The IBM AS/400E, now more commonly known as IBM i, is a robust and versatile midrange server that has been designed to provide a comprehensive computing solution for businesses of all sizes. First introduced in the late 1980s, the AS/400 series has undergone multiple enhancements and rebranding, with the AS/400E being one of the notable iterations. This powerful platform is closely associated with IBM's commitment to reliability, scalability, and integrated business solutions.

One of the main features of the AS/400E is its highly integrated architecture that combines hardware and software into a cohesive system. This integration allows for seamless operations, reducing the complexity typically associated with managing disparate systems. The system is powered by IBM's proprietary OS/400 operating system, which has evolved into IBM i, featuring advanced capabilities like object-oriented programming, integrated database management, and security features that are essential for enterprise environments.

A key characteristic of the AS/400E is its robust database support, primarily through the use of DB2 for i. This integrated database management system enables efficient data handling and retrieval, facilitating real-time business analytics and reporting. Furthermore, the platform supports a variety of programming languages, including RPG, COBOL, and Java, making it flexible for developers who require diverse tools for application development.

The AS/400E is also known for its exceptional reliability and uptime, making it a preferred choice for critical business applications in industries such as finance, healthcare, and manufacturing. This reliability is backed by advanced error detection and correction mechanisms, as well as redundancy features that help prevent data loss and minimize downtime.

In terms of scalability, the AS/400E can effortlessly expand to accommodate growing business demands. Organizations can increase processing power by adding more resources without significant disruption. This scalability, combined with the system’s built-in virtualization capabilities, allows businesses to optimize resource usage and streamline operations.

Security is another defining feature of the AS/400E. The platform incorporates various layers of security measures, including user authentication, encryption, and comprehensive auditing capabilities, ensuring that sensitive business data is protected against unauthorized access.

Overall, the IBM AS/400E remains a powerful tool in the enterprise computing landscape, providing businesses with an integrated, reliable, and secure solution for their technological needs. Its enduring popularity is a testament to its capability to evolve with changing business requirements while maintaining its core attributes of high performance and stability.