RexxHttp. Servlet programming in Rexx

Автор: Jos´e Mar´ıa Blasco

Дата: 02.11.2006

Скачать в PDF файле.

Introduction

RexxHttp is a ooRexx (and Object Rexx) Servlet and Rexx Server Pages (RSP) processor (“the servlet processor” or “the servlet engine”) that runs under CGI and Mod Rexx under the Apache HTTP server and can be made to run under other servers using CGI (for example, Microsoft IIS). RexxHttp runs under Windows and OS/2, and should run under any version of Unix for which there is a corresponding implementation of ooRexx or Object Rexx and Apache.

RexxHttp can be used to develop CGI programs and Mod Rexx programs, and provides a convenient, uniform, object-oriented abstraction of the HTTP request/ response model. RexxHttp can also be used to develop portable servlets, that is, servlets which run unmodified under several or all platforms supporting RexxHttp. This means that a servlet written following the portability guidelines1 can be developed, for example, using OS/2 Object Rexx under Apache 1.3.35/Mod Rexx 1.2.0, and deployed as a CGI application under ooRexx and Microsoft IIS 5.5 for Windows XP Professional, unchanged.2

RexxHttp automatically creates a request object which encapsulates the details of the HTTP request, a response object to receive the HTTP response headers, and an associated output stream where the contents of the HTTP response will be written. This output stream is a subclass of the builtin Stream class and implements a buffering mechanism, thus allowing for the modification of the response headers, as long as the response is not committed and the output stream has not been flushed.

RexxHttp also defines a RSP compiler interface (see Page compiler interface on page 51). Pages can be written which contain a mixture of HTML and Rexx code, have non-HTML tags translated to Rexx function calls (like JSPs), or whatever a compiler designer decides to implement. Current page compilers (i.e., Mod Rexx’s RSPCOMP and REXXTAGS) run with little modifications under RexxHttp.

RexxHttp is Open Source, and is distributed under the Common Public License contained in Appendix E, Common Public License Version 1.0, on page 63.

 

Скачать в PDF файле.