Tuesday, March 29, 2016

Events Abound

As a speaker in the IBM i community we are in the midst of “high” season for events.  Having just wrapped up the RPG & DB2 Summit in Dallas last week and WMCPA the week before, we came away with some strong impressions.    Great turnout at the workshops and sessions leads us to believe that folks are definitely looking to improve their applications and skills and PHP is near the top of the list.

How many using PHP?

We had a chance to meet a bunch of folks gearing up for PHP on IBM i and also some loyal Zend Server folks who are already using it.  The keynote by Ian Jarman highlighted the Help Systems survey that shows 25% of the respondents indicate using PHP for new application development on IBM i.  That is a HUGE statistic and we’re excited about it only getting bigger.  

New sessions!

I launched two new sessions at the WMCPA conference and then at SUMMIT.  The first is a session inspired by Ted Holt, senior editor at Four Hundred Guru,  called “30 PHP tips in 60 Minutes”.  This session is a collection of PHP and IBM i tips I’ve amassed over the last few years and at least one attendee walked out of it with a page full of notes on things to do when he got to the home office.  The second session, "Exploring DB2 data Access in PHP", is a deep dive on the usage of the DB2 extension in PHP.  It was inspired by a recent ZendCon attendee who was new to IBM i and has been struggling with accessing the native database.  A lot of the code samples that were used to educate that newbie have been decomposed and detailed in this session.  If you’ve been wondering how to manage the library list in SQL calls or wondered how to use the data cache in Zend Server, this is the session for you.

Coming to COMMON?

I’ll be taking these sessions and many of the updated classics on the road to events all around the country this spring and of course at COMMON in New Orleans!  Have you made plans to attend the annual Conference and Expo?  Please swing by the Zend booth(#114) if you can.  We’ll have some goodies to pass around and, of course, the Zend IBM i team will be there to answer any questions you might have.  I see many sessions on PHP and other open source topics and even a brand new session on a cute little database called Maria.

Thursday, February 4, 2016

What's in a champion and why?

What is a champion and why?

IBM has named a new group of Champions and your truly has been added to the VERY prestigious list of folks that have been selected.  I am honored and quite thrilled to be added to the list.  But it does get one to start reflecting, “What is a champion?”  

The word champion often times refers to the “winner” or “first place”.  Certainly not where I would put myself in any way, shape or form.  I’ve never been athletic and I’m not terribly competitive unless you count the Doctor Who trivia contest at the Panopticon Conference in 1983.  I believe IBM’s connotations for Champion in this context is more along the lines of Advocate.  Yes, this is where I fit in to the term “Champion”. 

I joke that I have been dialing the IBM support line number for more than 30 years.  Since that predates my tenure on IBM i and its predecessors, I have no choice but to acknowledge my roots as an IBM mainframe geek.   Working as a computer operator and then programmer at a bank in Chicago was a great experience.  But the coolest bragging right I have was operating one of the first partitioned systems implemented in Chicago somewhere around 1990.  

As I got into programming I used the standard TSO editor in ISPF and thought that was all I had.  When taking a refresher course on COBOL at Moraine Valley Community College (where I now moonlight as a PHP instructor) I met the AS/400 and immediately fell in love with PDM and CL.  The rest as they say is history.  

Fast forward a few years and I found myself getting involved in many activities such as my local user group, The Omni User, where I have held several posts including conference chair and president.  But the most poignant opportunity came as I was recruited to the COMMON Americas Advisory Council where I submitted my charter requirement to bring PHP to IBM i.  

I was just a customer, development manager, at the time looking for a way for my mixed RPG and Microsoft development team to modernize the look and feel of the bulletproof IBM i applications.  My CIO shipped me off to a one week boot camp on the LAMP stack and I came back a believer.  I wondered why IBM did not have something like PHP.  But they did!  Net.Data.  So we built applications using this.  But Net.Data fell out of favor with the greater IBM and soon became “stabilized”.  It was then that IBM and COMMON were looking for folks to resume the “requirements” process and I submitted my ideas and got selected to the CAAC.  Little did I know that would be the beginning of 10+ years of service to COMMON where I have had the honor to be a speaker, subject matter expert and member of several different committees.  

So what makes a Champion to me is simply put, having passion about something.  For me, I am passionate about the IBM i community and I want to see it thrive and flourish.  I am lucky enough to get recognized by some for my passion and I appreciate that.  However, I would like to salute the folks out there who have passion and are champions but have not been recognized.  If you have made it this far and know of someone worthy of this recognition, consider nominating them for the honor of being an IBM Champion.  We are all part of a wonderful community that I hope to enjoy for another 30 years with as much energy as I had when I started this journey in 1985! 

Monday, January 19, 2015

Developing PHP with Zend Server 8 for IBM i

Developing PHP with Zend Server 8 for IBM i


A lot of announcements from Zend last week and most important is the release of Zend Server 8 which includes the updated distribution for IBM i!  Zend Server 8 has quite a few new features you can read up more about on our web site like Z-Ray and URL Contexts.  I would like to focus this discussion here on the latest versions of PHP and installation questions.

The Zend website went through some changes last year and some folks have had trouble finding things.  As always, please do not suffer in silence.  Let us help you.  First question that tends to come up: “Is Zend Server still free?”  And the answer is yes, the Basic Edition comes at no charge via our partnership with IBM.  Now the license to enable the Admin GUI is available through the team at Zend.  So please get in touch with us if you need an updated key after your initial support window has expired.  

The download page has several options including the full install and updates.  If you have Zend Server 5 or lower, you will install Zend Server 8 side-by-side and migrate the applications to the new environment.  If you have Zend Server 6 or later, there is a single PTF to update the server AND PHP version!  Yes, that’s right, you can update the PHP version while updating Zend Server.  Just LODPTF and APYPTF and you’re all set. 
We only support one instance of Zend Server per LPAR so if you’d like to test things out we’d strongly recommend a development LPAR.  If you do not have a development LPAR and we can refer you to some folks who do a GREAT job helping companies implementing these solutions so the production environment remains safe and unchanged until you are ready to move forward.  

Development LPAR?

Folks often ask me: “why do I need a development LPAR when we’ve been running on IBM i and its ancestors for years without a problem?”  For that question I have many responses and I’ll focus on two here.  First you have more workload on your IBM i today than you did even 5 years ago.  I have many customers running their green screen ERP along with EDI, web services, web pages and much more.  So the resources are being taxed and there are more moving parts to worry about than just flipping a library list.  Second, you have more developers on your IBM i today than in previous years.  Again, I run into many IBM i shops with PHP developers who have not grown up on IBM i and are accustomed to having their on sandbox where things can break.   Putting them on a production LPAR can prove disastrous!

IBM has made it much more cost effective to have a development LPAR as of POWER 7 and IBM i 7.1 so if you are in need then now is a great time to look into this feature. 

Wednesday, June 18, 2014

We got a new site!

After months of planning and tireless execution the Zend team has delivered a new website with even more content than before.  Dedicated to the themes of PHP, Agile, Continuous Delivery and more, www.zend.com has more than a new look & feel as it plans to be the cornerstone to the future of our product and support infrastructure.  But this is just the tip of the iceberg as many new announcements are coming VERY soon!  If you have not been here in a while please check us out.  Here are some of our favorite links:

IBM i Webinars
IBM i Main Page
IBM i Products
IBM i Service Levels
IBM i Customer Success Stories
Zend Studio

Sunday, February 16, 2014

More IBM i PHP than ever before!

Like voting in Chicago, upgrade early and often!

So the other day Zend announced Zend Server 6.3.  As per their commitment level, they released it for Linux, Windows and IBM i!  Woohoo!  It is nice to be on the same release sequence as the other major products so thank you R&D!

What’s in it for me? 

Zend Server 6.3 has a load of good stuff for IBM i PHP enthusiasts.  This is the first time Zend has announced support for 3 major release levels of PHP, PHP 5.3, 5.4 and brand new PHP 5.5.  In addition, Zend Server for IBM i also supports cross version upgrades.  This means you can update the Zend Server 6 PHP stack from PHP 5.3 to PHP 5.5 with only a PTF.  In previous release this was only supported by uninstalling Zend Server and reinstalling it.  A HUGE time saver but beware of deprecated features as you move from 5.2 to 5.3 to 5.4 to 5.5

Also new in Zend Server 6 is support for the Open Source toolkit as a library.  This feature makes updates virtually painless and you can easily select which toolkit version you want to use by clicking an option on the library screen.  

Many of your favorite PHP extensions are also updated as a result of the new version of PHP.  These and performance improvements can provide tons of reasons why you should consider updating your PHP stack.   

Stay current

The latest PHP version is out called PHP 5.5.  This new release contains support for new features like generators and list function in the foreach clause.  There are 37 bug fixes, performance improvements to the PHP Engine and much more. 

As always, the basic edition of Zend Server is ready and waiting for you to install on IBM i thanks to the great partnership with IBM.

How do I get there?

Downloads are available on the Zend.com website and installed via the PTF process. Keep in mind that PTF’s can be installed and removed so you have a way out if there is a problem.  Ideally, Zend recommends a separate LPAR for development where these discoveries can be made before finding out the hard way.  

Are you on Zend Server 5? You can install Zend Server 6 side by side with Zend Server 5 and run them simultaneously on the same LPAR.  There is a single conflict in the port definitions of the Java Bridge, but that can be remedied quite quickly  (/usr/local/zendsvr6/etc/conf.d/jbridge.ini ). 

We’ve come a long way since Zend Core and PHP 5.2.  And there is no end in sight!

Friday, August 30, 2013

Zend Server 6.1 for IBM i – Woohoo!

Have you looked at Zend Server 6 which was released in April of this year?  Check it out at Zend.com to see the latest in PHP stacks as we now support PHP 5.4.  The first thing you notice about Zend Server 6 is the login screen asks you for a user id and password. That is because we now include role based access to the user interface to Zend Server 6.  This allows companies that have a strict division between developers and administration to set and enforce these roles appropriately.  Enterprise customers can further enhance the experience by tying the admin interface into a LDAP server thus allowing folks to user their normal userid and password to access the interface and a full blown audit trail for changes to configuration files.  Otherwise the ADMIN and DEVELOPER user profiles will work fine.


Once logged onto the Zend Server administrative interface, you’ll notice that cleaner and more sleek UI.  The folks in R&D spent a lot of time on usability and focused aggressively on a cleaner interface.  The initial dashboard shows system statistics as well as events that have recently occurred.  And the responsiveness of the screens has tremendously improved over Zend Server 5.

One of the cornerstones to Zend Server 6 is the applications centric environment.  This gives the administrators the ability to fine tune the event monitor rules based upon application and not just at the server level.  One practical example of this is evidenced by an administrator setting up event notification at the application level thus allowing only the production applications to send event email and leaving the more nebulous applications alone.   No need to react of hours cause phpMyAdmin threw a PHP error.

Installation of Zend Server 6 is done in parallel with Zend Server 5.  This gives IBM i shops the ability to set up the environment of before going live.  Once the environment is ready for production all you need to do is flip around a couple of ports.  The default ports administration is placed at 10081 and for web serving is 10080.  These values can be changed in the Apache configuration file when ready.  This separation from UI and Admin brought the IBM i version of Zend Server in line with other platforms and enhances the security by allowing network administrators to block the port from the public.

Zend Server 6.1 is the current version available at Zend .Com and can be downloaded as a complete installable file or as a PTF to Zend server 6.0 which was released back in March of 2013.  Full documentation for Zend Server and the tool kits are available and documentation pages and Zend.Com

Monday, March 11, 2013

Who have you Mentored lately?

I’ve had a chance to visit customers literally around the world and they all similarly ask the same question as to how to get more people aware of the solutions available on IBM i.  In a phrase, educating the great unwashed.  Yes, the IBM i is a special animal in the world of computing.  High uptime, resilient object and file systems, integrated database and incredible native language for business in RPG is just the beginning of a radically different OS than Linux or Windows.  There is a lot to misunderstand about this platform and therefore education is essential. One customer who had been on the platform for over 20 years actually did not know what COMMON was!  Ouch!!!  By the way, we’ll be at the Annual Conference and Expo at the beginning of April with a booth and sessions and more!

Education of the team is the manager’s responsibility.  Another customer asked me about the kids today learning RPG and why there aren’t that many.  I mentioned Jim Buck’s program at Gateway and also we kicked around a number of anecdotal concepts.  So when we settled in to discuss what projects they were using for PHP they pointed to a very young member of the team who was primarily responsible for the PHP development.  He is a great guy with a good head on his shoulders for business, more on that in a minute.  But what struck me was that they were investing in his education of PHP and this makes perfect sense until I asked the question: “When do you start training him on RPG?”  You see, I thought after the previous discussion about bringing younger folks into the fold of RPG that this customer would have discovered this opportunity themselves.  They were a little shocked when I mentioned that having a younger person learn RPG until I reminded them of the previous discussion.  Once they considered what I had to say they acknowledged that it would make sense to help this young man learn RPG and that it could even make him more valuable as a resource in today’s economy.  

This brings up the primary position of my blog for the month.  What have you done to mentor someone today?  I remember when I was a budding RPG developer and I had two mentors who were essential in my success as an RPG programmer.  Sure I might have learned the same things over time, but not nearly as quickly or effectively.  In this day of “instant gratification” everyone is too busy to stop and help someone along the way like we used to in the 80’s and 90’s.  And certainly the Internet has come along way to make information much more available and easier to absorb.  But to hold someone by the hand and explain exactly why *INZSR is a useful subroutine or the different between packed decimal and an integer data type can effect storage is something I simply do not see that much of these days.  I challenge everyone out there who is responsible for the development team, in any role.  Go find an intern and teach them RPG.  

OK, so it will take time for them to learn RPG.  They may not like RPG once they’ve learned it (silly thought).  It’s not sexy like .Net or Java (so what!).  Then fuel the discussion with some other points like CASH, MOOLAH, DeNiro, COIN, Money, Geidis, scratch, and a myriad of other terms.  Folks, with nearly 8% unemployment (and higher when you consider those who quit looking) I gotta believe there is someone out there who is wiling to learn RPG in today’s shops.  But just as important, they must appreciate business.  Interns at local community colleges can come along with referrals from their college advisers.  Get in touch with the local college adviser and look for an intern who appreciates BUSINESS!  I have, somewhat provocatively, stated at several presentations that RPG programmers are not programmers at all.  They are business analysts who code RPG.  Therefore, it is essential that anyone you interview for a position to learn or work on IBM i that they understand and appreciate business.  That is not to say young developers who want to do cool, sexy things cannot help an IBM i shop.  But they will tend to get frustrated when you ask them the difference between a PO, a payable and a payment!  We are a VERY special breed as RPG developers because of the business influence and therefore we should be looking at this for future IBM i developers.  

One of the anticipated questions I run into is “well why would a younger person be interested in learning RPG?”  The obvious answer is they want a JOB!!!   But do you want to throw them into the deep end of RPG with no hope of leveraging any other technologies?  I think the reality is to get someone on deck who is will to learn RPG, but also leverage what they’ve learned in the college setting like HTML, JavaScript,  Ajax, PHP, etc.  Modernize your applications and leverage the more modern tools available in IBM i at the same time! 

See you soon!