May 19

PHP screens starting to take shape for our new HA/DR products

We have posted recently about the initial screen we had developed to front a new DR product we will be announcing soon call DR4i. We have continued to develop the screens adding a lot more data collection via PHP calls to our service programs.

The fact is we are having fun with this and learning as we go along, those of you who know me will know I am color blind, so if the colors offend don’t worry we are controlling it with CCS which will allow us to be a lot more flexible with screen design later down the road. We had been putting off developing a new set of interfaces for our products in PHP due to the complexity of setting up the IBM i PHP/HTTP server and felt many just wouldn’t bother. As it turns out Zend simplified things for those who want to run the HTTP/PHP server on the IBM i with their recent ZendServer announcement, plus we have had a lot of fun playing with the EasyCom server on our Linux server. The nice thing is we can port the code between the Linux Server and the IBM i with no changes at all!

I think the hardest thing we had to get over was how do we set up the php arrays to call our service programs especially where the data we needed to send and return would be in structures. Some correspondence with EasyCom and we now have that sorted.. Writing the service program which will run on the IBM i took us a few hours and the rest of the time was spent playing with the layout of the pages due to the non standard browser support provided by IE. The screens we show below are all from Google Chrome, I have to be honest and say it is fast becoming my favorite browser! Layouts for this browser were easy and we only started to see problems when we tried them in IE.

The last time we published the initial screen it was simply showing the status with no color coding or real active data, the following screen was captured after we had forced a number of errors in the apply process (not something we encourage) plus we suspended applying of a journal and ran a lot of change journal commands on the source. If we have any errors or queued receivers we will create links to a page which provides the details. This screen shows 4 errors and 9 receivers in the queue, all the other processes are running perfectly.


Main Status Display for DR4i

If any errors are reported we can drill down to find out the relevant information as shown in the panel below.


List of receivers which had apply errors

Then to display the error details you simply select the details link and the following screen is displayed.


Error Details returned by the APYJRNCHG

Finally if any receivers are sitting in the apply queue waiting to be processed (this can happen for a number of reasons but mainly when the apply process is suspended) you can see a lit of the receivers by selecting the number in the queue depth field which will show the following screen.

Apply Queue Information

Receivers Awaiting Apply

So this has taken a few days to complete but I think the results are acceptable. We have also started a foundation for all of our other products which will use the same technology for monitoring and eventually we will add control features to the interface to allow you to perform some of the operational requirements for the products.

If you would like to see a demo of the products or receive more information please let us know. A recent publication published our competitors product price for a P10 group, you will be surprised just how affordable our products are!


May 17

DR4i initial PHP screens designed

The DR4i product is well underway, it will be an option for customers who are just looking for data replication (journalled objects only) between IBM i systems. The Receiver Apply Program (RAP) had become complex for installation which only required this facility which prompted us to build an alternative.

The product isn’t just a rip out of the RAP technology, we have taken the opportunity to build new Apply processes and controls which will allow a lot more flexibility to customers who are running with more than one journal, will eventually pick up this technology as well. The main purpose of the product is to offer a simple to use solution with little to no skills required to install.

As part of this new product we are going to be shipping a PHP based status interface, this will allow the user to monitor DR4i from a web browser with access to a web server. We are hoping the technology can be a launch platform for our involvement with the EasyCom suppliers. We are testing the interface by using our Linux HTTP server which is making i5_Toolkit requests to the IBM i and our own service programs through the EasyCom server running on the IBM i, we have no HTTP servers or PHP servers running on the IBM i…

We are expecting to have the new product available byt the beginning of the 3rd quarter this year, the product is already built and running but we now need to add the rest of the PHP based status screens before finally packaging the product and getting ready for customer installs.

Here is a sample of the screens we have developed so far, its early days but the development is progressing well and we hope to have the rest of the screen developed in a few weeks.


PHP driven DR4i Status Page

We have had no time to publish further PHP information due to the time spent on this and other projects but we hope to get back to it once we have this project completed.


May 14

Hmm how about running PHP on the IBM i plus allowing other platforms to run PHP requests

PHP is gaining in popularity with the IBM i user base and we are seeing a lot more activity in the forums and bulletin boards asking for assistance on how to set it up on the IBM i. We have also spent many hours playing with the solution ourselves trying to workout just how well it interacts with the IBM i native objects. Unfortunately at times the dream has not been fulfilled, we have had to remove some applications from the IBM i and move it back to our Linux Server due to the poor performance from the IBM i.

Originally the problem seemed to be caused by the installation, running 2 HTTP servers which communicated via a proxy request certainly added some overhead, the recent release of ZendServer which used the FastCGI technology did improve on that but still failed to bring the performance up enough to allow us to bring the applications back to the IBM i. A recent problem with ZendServer which consumed our IBM i caused us to look even closer at what the impacts were, having a program consume 100% of your CPU may not be a happy experience in a production environment!

This left us with a couple of problems, firstly we needed a solution which allowed us to keep the performance we needed for our applications but we also needed to have the ability to run PHP requests against our IBM i objects. We also have some applications which are written for DB2 on the IBM i that we could not move to our Linux Server without significant impact and effort. So we wanted to have the ability to run PHP on the IBM i and still run PHP on Linux accessing the IBM i objects.

Our original plan was to migrate everything off the IBM i to the Linux server and run the EasyCom server on the IBM i to service PHP requests from the Linux system, this would have involved quite some work as we would have needed to convert the PHP application on the IBM i which uses the db2_ functions into one which the Linux system could run using the i5_ functions. Then we noticed something which had not hit us before, the EasyCom server which runs on the IBM i with Zend and the EasyCom server which we needed for the Linux system can run on individual ports which will allow us to run both at the same time! Now we can satisfy all of our needs without any major surgery on the applications. It does of course mean we have to turn the HTTP servers back on for the IBM i but we will have the ability to decide where each application will run based on the performance required.

Another good point about this solution is we can still stick with your favorite platform (the IBM i) and not have to expose it to the internet just because some applications need internet access, you can bring in another server to run those applications on and provide access the IBM i data and objects while also running PHP on the IBM i for internal applications. I think this is going to provide a perfect solution to many IBM i users who want to reduce the possibility of unwanted access to their IBM i data and objects. The ZendServer running wild is something we will have to face again, but if it was easy everyone would be doing it!

If you want more information or would like assistance in setting this up let us know. We are going to be working with EasyCom on creating a better experience for the i5_Tookit functions and the EasyCom server install and interface.


May 13

New Product new name! HA4i to be the next High Availability product DR4i will be our Disaster Recovery product.

We have been looking at the next iteration of our RAP product which is gaining a lot of popularity with the small to medium sized IBM i customer.

Our main goal when we developed the product was to provide a Disaster Recovery solution for the masses and while the pricing model still meets our initial criteria the additional features we added also created complexity. To address this we are going to provide 2 new solutions to the IBM i community which will allow them to decide the complexity they need.

DR4i will be a journal based solution that only requires a single install, it will have most of the complexity removed but will provide the essential data apply processes.
HA4i will be a full blown HA solution providing all of the features you would expect, our efforts will be around making the installation and set up easy and automated plus provide additional tools for set up and management of the replication environment.

Both of these products will come with a new PHP based monitoring interface which can be run on any PHP capable server. We will also provide the same Email capabilities for both products that you get in our RAP product today. The HA4i product will be JobQGenie aware so if it is installed a single monitoring interface will allow you to track the status while providing email support of any job problems.

Early days and lots of recoding and testing to do but we think the market is asking for different offerings which make sense for their Availability needs and budgets.


May 12

Don’t run PHP on the IBM i!

If you already have a HTTP/PHP server running in your organization why add the burden of running another just to get at your IBM i data and objects from web pages! Installing the pre-requisites and Zend Server on the IBM i is a challenge you could do without! Let your Linux/Widows/AIX team who already run HTTP servers take the hit while you provide the required programs and scripts to serve the IBM i data and objects. A recent problem with ZendServer which brought our system to its knees met with little reaction from Zend and even though IBM did provide support they were unable to help resolve the issue as it was originating in the ZendServer objects. This prompted us to look at the alternatives.

We are now running a Linux based Apache server calling PHP scripts which were originally developed and run on our IBM i server. All of the i5_ function calls work in exactly the same way they did when run on the IBM i, but we have no Zend server or HTTP server running. (You do lose the db2_ functions which are provided by IBM but our testing has shown that the i5_Toolkit functions are just as effective).

Having been a source for many looking for the 57XXSC1 programs required to run the Zend PHP service, we have seen just how PHP access to IBM i data and objects is growing in popularity. The fact that this solution does not require the Zend pre-requisites such as the 57XXSC1 options and PASE, plus the ability to remove the IBM HTTP *ADMIN servers should make this solution worthy of investigation! Another benefit of this solution is you remove the need to place your IBM i on the internet if you are looking to provide IBM i services to the World Wide Web.

Yes there is a cost, the server component which runs on the IBM i is not free, you need to license it for the remote connection to work (a recent discussion with the supplier has shed light on a possible option which will provide support and licensing for an annual fee). Today that same server component costs nothing to the IBM i user because it is shipped as part of the Zend installation. Having said that you will eventually need to pay for support from Zend for their PHP server. One problem we have encountered with Zend support option is the lack of real support for the i5_toolkit, even though Zend should help in many cases they tend to leave any requests for help placed via their forums to be answered by others.

You can get a free trial of the server portion which runs on the IBM i which will run for a period of time, the Linux/Windows Client portions which run as Apache modules come with no restrictions.

If you would like information on how we set up the servers and what it requires let us know! We are very excited by this and feel it offers a new approach to customers who are looking to provide modern features to their existing IBM i applications using PHP.


May 11

RPG OA The debate continues (by a few)

Well the few pundits who bother to put pen to paper and speak about the IBM i platform and new technology are certainly putting some passion into this one! I have made my position known and do not see any reason to alter that, but we are interested in what others feel. As usual there are only the few who even bother to place any comment on the boards, having said that those who do certainly add some spice to the discussions and lots of passion! Unfortunately thats more than outweighed by the lack of responses. Most seem to be willing to just sit back and enjoy the ride letting others do their bidding.

I do not agree with some of the things Trevor Perry has to say, but one thing I do agree with him on is unless you show some passion in your support of the IBM i platform you will be adding to its demise! You should take the opportunity to post your comments on boards, blogs etc. which are supporting the IBM i. Even a few words such as “here here” show you have a level of support for what we feel is the best computing platform bar none! One thing I do believe is you need to be honest, I do not agree with the sentiment that negative answers should be shunned! If its true it needs to be said! Just placing positive statements is for the marketing people, debate can take the negative comment and show where it could be positive even though we may end up with an agreement to disagree.

For me the IBM i is a great solution, its not perfect in some respects but it will suffice. I think IBM needs to do better yet this is probably (I say probably because I have not even seen the technology yet) a good start down the right road. Will we ever get to a stage where we have a fully integrated XServer solution on the IBM i, I doubt it. Not that it would be impossible, but I do not think IBM sees that as a good move.

We have placed a poll on the site to see what you think, we have also opened up the comment section to allow you to post without having to register (not sure why but registering seems to be an impediment to some) so you can voice your thoughts and concerns here. Not sure what effect it will have but maybe having a few more places to put your opinion down may help with IBM’s decisions on the future of the technology? Please bother to add your check in the appropriate box on the poll or if you would like to add another question post it here, get involved and get your co-workers to get involved.