One of the stipulations we have built into the Open Source project is that we are not going to add any ISV based requirements on the install of the product. However where it comes to the UI we have to accept that we cannot deliver the data to a UI without some kind of ISV product which will allow the transformation and delivery of the UI components.
The first UI we looked at was iWeb, this allowed us to ensure we kept the UI separated from the DB but it does require that you use the iWeb servers to deliver the content. This works well but we wanted to offer users the ability to choose between any number of delivery methods, so we have been looking at providing some samples on how the UI may be constructed. As we use PHP a lot we thought it would be a good place to start developing our first sample.
PHP on the IBM i is not new but the i5_toolkit required to deliver PHP on IBM i was removed from the Zend installs sometime ago. This was soon replaced by the XMLSERVICE toolkit which is available from the YIPs site and can be downloaded and installed for free. If you feel you want to build a PHP interface using the XMLSERVICE API’s we welcome your input as we are not familiar with it..
Before I go any further I need to thank the people who have kindly provided the resources which will allow us to demo the code once we get things to a stage where it can be.
Data Storage (via the Magic User Group) have provided the IBM i partition, they will also provide a Linux VM that we can use to demonstrate a remote NGNIX install delivering the IBM i content through Easycom. The Magic partition does have Zend Server Installed so we should be able to demonstrate local delivery from the IBM i using the same Easycom install as well. Aura have kindly provided us with a license that will allow us to run Easycom on the IBM i server and the Linux VM so that we can demonstrate its capabilities.
So far we have only built the sign on and Home page, our intention is to build the additional pages once we have access to the database etc. I am not a designer so please accept that the design elements are probably not as good as they might be, being color blind as well doesn’t help 🙂 Here is a quick view of the pages so far. First the sign on page.
Once you have correctly entered your sign in credentials you will be presented with the following.
This is being served from a Linux VM (debian) with NGNIX and php5.6-fpm that is linking the request to the Easycom server on the IBM i. The job on the IBM i server is shown below.
Overall it took about 3 hours to code up the above. We will hopefully add the first call to the programs (IO servers) on the IBM i in the next few days and show the returned JSON content. Its all pretty simple and not really doing a lot at this time but it is starting to show where we are going.
Please note: The Transport server is not used in this scenario because all of the content is managed between the Easycom objects including the translation between ASCII and EBCDIC. Once we have the DB built and some data added we should be able to demonstrate how easy it is to work with the data and how to work with the IO servers using either Easycom or the Transport Server.