Xb2.NET web applications are not only fast, but are easy to implement, install and support. The diagrams below
show the data flow from a web client (typically a web browser) to a web server application and back. The data flow
of an Xbase++ web application using Xb2.NET is compared to a similar application deployed as a WAA packaged DLL.
Xb2.NET Data Flow:
Xbase++ webserver applications developed with Xb2.NET do not use CGI and do not require any external HTTP server.
In fact, the Xbase++ application is the webserver. Xb2.NET uses TCP/IP sockets to talk directly to a client
application. Except for the network infrastructure, there are no intermediary agents involved in the dialog between
an Xb2.NET application and the client.
It does not take much imagination to conclude that a direct TCP/IP connection between a client and Xbase++
application will result in quick response, however there are other benefits as well. With Xb2.NET your Xbase++
application will have much more information and control available than if it were using CGI. For example,
socket disconnections are instantly transmitted to the server. By periodically polling the socket during
time-consuming operations, you can choose to cancel a request if the connection has been broken or cancelled by
You need to install & support:
Your Xbase++ web application
that's it really :-)
Xb2.NET applications are:
Easy to use
Easy to install
Easy to support
WAA Data Flow:
The WAA (Web Application Adaptor) from Alaska Software uses CGI (Common
Gateway Interface) to deploy Xbase++ applications on the web. The WAA includes several different CGI gateway
programs that allow it to talk to the most popular HTTP servers like IIS and Apache. In order to deploy your
Xbase++ application on the web using WAA, your business logic must be packaged as a DLL, which is then dynamically
loaded and unloaded by the WAA. In addition, you must install (1) an HTTP server such as IIS or Apache, (2) the WAA
CGI gateway, (3) the WAA server, and finally (4) your Xbase++ application DLLs.
As you can imagine, data submitted by a web client must pass through several layers of communication before it
finally gets to your Xbase++ application... and the same must happen in reverse. Once your application processes
the request, the HTML page that it has generated must pass through the same layers before it is finally received by
the web client.