Xobas Software'>
]>
ProLinga-Web Project
Release: &PRODUCT;-&version; - &release-date;
Bas
Driessen
&xobas;
bas.driessen@xobas.com
Original author and current maintainer.
2002-©right-year;
The ProLinga Team
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled
"GNU Free Documentation License".
This document describes the ProLinga-Web Project and how to
build the software components.
ProLinga-Web Project
The ProLinga-Web is a small project that focusses on the development of a
CGI applications. These applications generate an XML request file based on the
URL given by a user or application. This request file will be send to a
ProLinga-4GL Run-Time processor, which processes the request and then sends a
response back.
This response is an XML document which can contain any type of information
in its response body. Most likely this body information will be HTML or XML,
that will be displayed in an Internet Web Browser. If the content of the
response file is XML, it can be transformed using an built-in XSLT transformer.
Managing and processing of the requests and responses is controlled by Web Commands (WC).
A WC request is an XML document containing a command generated from an URL. A command
can be to run a block of logic in the ProLinga Runner.
The current CGI application prolingaweb is a standalone
CGI application that lives in a script (prolinga-cgi) directory on a Web Server.
The flow and processing of incoming and outgoing requests and responses can either be
controlled by a sophisticated SOAP layer on top or direct links using the C++ API of the
software component to connect to. Since all code is written in C++, it can be ported
to all modern UNIX systems, GNU/Linux variants as well as MS-Windows. ProLinga-Web
as a communication channel is extremely fast and very reliable.
Main purpose for the creation of this project, is to provide an
easy way to access 4GL run-time processing engine using a Web browser
as the user interface.
ProLinga-Web has been built and tested on many popular GNU/Linux platforms as
RedHat Fedora, Mandriva Linux, Ubuntu, Debian and
openSUSE.
Since all code is written
in C++, it can be ported to all modern UNIX systems, GNU/Linux variants
as well as MS-Windows and Mac O/S platforms.
Portions of code are lifted from the CGI tutorial written by
James Marshall.
Web Command
Web Commands are used to retrieve data from an URL, manage and return
data to the browser or requesting party.
Web Commands have the following format:
webcmdsessidformat
]]>
Since Web Commands will be passed on to other services, no Web Commands
besides a Ping command are pre-defined. URL details will be placed into a
Web Request enveloppe.
Web Request
As mentioned before, URL details will be transformed to a web request.
Example Web Request:
]]>
The reserved URL parameters and their default values are:
webcmd: Default
session: none
format: HTML
service: Default
appn: Default
name: Default
All additional URL name/value pairs will be added as a Parameter tag
within the Object section of the request file.
Web Response
Web responses are created/generated by remote (Web) Services. ProLinga-Web,
receives this response file, performs a transformation if required and creates
a return document to display in the browser or to send back to the requester.
Example Web response: