April 16, 2003

## Application Servers for eComstation and OS/2

I thought I would share my exploration into Application Servers for OS/2 and eComstation.

I am interested in developing a Network Appliance for Home using X10 Automation. To address this problem I need an Application Server that is easy to setup, maintain, and plugs into X10 Home Automation which will allow me to develop web access for administration and usage. The details of the specifications got quite lengthy and would be exhausting in this article, so I will present just the highlights.

This discussion covers the selection criteria as well as currently available application servers that I have found which could deliver my goal. I do not consider my list complete, and welcome alternative application server choices. I did not include Java Servers on OS/2 like Resin in this roundup. I believe in the KISS principle and I hope that some time soon someone else will cover this area of interest.

### Requirements

- Native Application Server for operating system OS/2 and eComstation.
- Uses or extends Open Standards. (HTTP/HTML/XML/JAVA/PERL/JAVASCRIPT/PHP/POP3/SMTP/FTP/IMAPI (nice to have.))
- Mail and/or Messaging components.
- Ease of installation and use.
- Integrated database.
- Accessible to Open RDBMS's - MySQL and Postgres SQL - via PHP4.
- ODBC accessible RDBMS (Oracle/UDB/MSSQL.)
- Minimal configuration time - default configuration upon install.
- Simple administration - command line tools. GUI would be nice to have, can be third party.
- Cost.
- Support.
- Vendor commitment to platform.

With these, I've narrowed my choices to Communigate Pro, Caravan and Apache 2. I could select any of the three technologies, however, I had to make a decision, do I want to learn yet another scripting language or do I want to be up and running? OK, I can tolerate a some minor scripting language variations, however I want to be up and running.

All three are supported on IBM OS/2 and eComstation plus Linux and Windows. In our current situation, we are fortunate that these vendors have presented these offerings and should thank the developers for their hard work.

Open standards made the web what it is today, CGI and other scripting interfaces can be useful, Caravan offers a Plug In method to allow you to run an external program, so as a result, I can interface with REXX to run X10 Automation for OS/2 (http://home.att.net/~ASchw/house2.html) from Lone Peak Automation. If I have Rexx, then I can use PERL, PHP and other scripting to access or push data, permitting access to MySQL, Postgres SQL and other databases if need be, however I am finding that the internal database is fast enough for my needs. This all opens the door to a considerable base of existing free Perl and PHP code for site development.

ODBC access is the gateway of my daily life at my place of work. ODBC can be slow, however with it, I can plug in from any office application and manipulate my data. Postgres SQL provides ODBC access right out of the ZIPFile, Caravan and MySQL and other databases will require exporting data or additional client software as in Oracle NET client and ODBC.

Caravan's integrated database is web driven for setup and configuration. Coding samples are clear and workable. MySQL and Postgres SQL have numerous PHP code snippets available and complete web sites such as PHPNuke/PHPWebSite that use MySQL or Postgres SQL as the back end.

All three deliver to varying degrees the ability to send messages and they all require additional configuration or modules. PHP mail needs sendmail active and configured on the server if using any canned PHP scripts, in the Linux world this is provided in most default installations.

For those developing a black box solution or embedded system, Caravan and all the others could meet your needs depending on scale and expense. The network pipe, hardware, CPU, RAM, and disk will be major factors to consider. CommuniGate Pro has IMAPI support which is unique, however, this is not in my scope of requirements.

### Prerequisites

Make sure you are running OS/2 Warp 4, Warp Server for e-business, eComstation, or eComServer and OS/2 TCP version 4.1 or better.

### Caravan

Installation and setup is easy.

1. Download Caravan (http://www.response4u.com/os2.html) and its documentation. Open an OS/2 Window and enter:
   SET CARAVAN=\MYDIR
   CD\MYDIR
   CARAVAN
2. You will be prompted to go into the settings.

3. Once the settings are saved, the server will start.

4. Open Your OS/2 Web Browser to URL: LOCALHOST

Type in the default id and password, change the password, then start developing your tables and pages.

### CommuniGate Pro

Download the CGatePro-OS2-Intel.zip (http://www.stalker.com/pub/CommuniGatePro/CGatePro-OS2-Intel.zip) package and install the CommuniGate Pro package.

1. Open an OS/2 Window and enter:

   cd C:\
   unzip CGatePro-OS2-platform-version.zip

2. The CommuniGate Pro software will be installed in the C:\STALKER\CommuniGate directory. If your system was running sendmail or any other SMTP server, stop and disable that server. If your system was running POP, IMAP, or poppwd servers, stop and disable these servers.
3. The installed software contains the C:\STALKER\CommuniGate\Startup.CMD batch file. If you do not have the STARTUP.CMD file in the root directory of your starup disk, create such a file. Add the following line to the STARTUP.CMD file (stored in the root directory of your startup disk):

   CMD /C C:\STALKER\CommuniGate\Startup.CMD start

   This line will ensure that CommuniGate Pro server is started automatically when the OS/2 system starts.

4. The default "base directory" is C:\CommuniGate. You can move the "base directory" to any other location, just open the start-up script file (C:\STALKER\CommuniGate\Startup.CMD) and update it.
5. Restart the system or launch the start-up script manually:

   CMD /C C:\STALKER\CommuniGate\Startup.CMD start

Proceed with Initial Configuration.

### Apache 2 for OS/2

Download and Unzip the following. Read each read me to setup and configure to meet your system needs. Apache 2.0.45 (http://apache.mirror.mcgill.ca/dist/httpd/binaries/os2/httpd-2.0.45-os2.zip) or another http Web Server of your choice, PHP 4 (http://silk.apana.org.au/php) (current version 4.3.1 (http://silk.apana.org.au/php/download/php4.3.1-os2.zip") or Vincenzo Venuto's (http://www.ecomstation.it/postgres/php4.2.3-bin_os2.zip)), MySQL/2 (http://www.quasarbbs.com/yuri/mysql2/) or Netlabs (http://mysql.netlabs.org/), Postgres SQL (http://www.ecomstation.it/postgres/).

### Comparing the Choices

The initial setup of Caravan is easiest, taking just 5 minutes. CommunigatePro took 10-15 and Apache/PHP/MySQL or PGSQL about 30 minutes. The times are based on reading the installation and the speed of the text PII-266 Compaq System.

Administration for Caravan and CommuniGate Pro were easiest and most efficient via the web interfaces. Apache had a number of third party tools that enhanced it, I like Serverconfig/2 for configuration and Analog/2 for system log analysis.

For a home user the cost is, FREE. For commercial/industrial use please contact the respective vendors for current pricing. Apache, PHP, MySQL and PGSQL are free, and you may even compile your own version.

Hey, I forgot InetPowerSever (http://www.inetpowerserver.com/) IPS http/ftp/smtp/pop server and Web/2 (http://dink.org)! I just did not schedule enough time. If someone wishes to use IPS or Web/2 instead of Apache. The key is to find the solution that fits your needs.

### Support and Vendor Commitment

Free has a price. I do not expect support beyond forums and best effort among my peers. However, to ensure future development on the platform, I chose to license a copy and get maintenance. Please go see the vendors sites for current pricing.

In all cases, the vendors and developers have shown a commitment to the OS/2 platform. It is now up to "US" the "OS/2 and eComstation" community to use the tools these people have created. It will be interesting to see if we can make use of them to create our own, black box solutions or embedded devices for home or commercial or industrial use, or better yet, full scale implementations. Give vendors your feedback for desired new features and most of all buy maintenance, and upgrades. Please also advise them of any deficiencies, as it will improve the overall application and perception of the product.

It is not just a matter of the vendors being committed to the platform of OS/2 or eComstation, it is the community at large.

Over the next few weeks, this Home Network Appliance Project will be underway thanks to the research I have done. More postings to the OS/2 community and newsgroups will occur over the next few weeks.

### Closing Remarks

I hope you found the information (or at the very least the links included) useful in further investigation of Application Servers for OS/2. As I develop my Network Appliance Project I would like to share my expereinces.

"May your experiences be Warped!"

Caravan Vendor Homepage (http://www.nititelecom.com/caravan/businessserver.asp) and OS/2 Pages (http://www.response4u.com/os2.html)
CommuniGate Pro (http://www.stalker.com)
Apache 2.0.45 (http://apache.mirror.mcgill.ca/dist/httpd/binaries/os2/httpd-2.0.45-os2.zip)
PHP 4 (http://silk.apana.org.au/php) (current version 4.3.1 (http://silk.apana.org.au/php/download/php4.3.1-os2.zip") or Vincenzo Venuto's (http://www.ecomstation.it/postgres/php4.2.3-bin_os2.zip))
MySQL/2 (http://www.quasarbbs.com/yuri/mysql2/) or Netlabs (http://mysql.netlabs.org/)
Postgres SQL (http://www.ecomstation.it/postgres/)
Lone Peak x10 Home Automation and Security for OS/2 (http://home.att.net/~ASchw/house2.html)
RDBMS Pages (http://www.os2world.com/rdbms)

David A. Del Col
spent 10 years as a systems engineer in broadcasting electronics and 9 years in IT doing helpdesk support, client/server implementations, and configuration management. He currently works for a major insurance company in Canada. He is a devoted OS/2 user since version 1.3, and now uses eComstation V1.03.

This article is courtesy of www.os2ezine.com. You can view it online at http://www.os2ezine.com/20030416/page_6.html.

Copyright (C) 2003. All Rights Reserved.