Friday, May 25, 2012

Why Upgrade IBM i?

or...the Rising Tide Raises all Boats...What has DB2 Done for me Lately? 



There are two sides – PHP and/or as important as PHP is the OS  You should examine your OS level and I will implore you to consider leveraging your current investment.  Upgrade to i6.1 or i7.1 today! IBM has done a nice job adding features to IBM i and the way they do that is with new releases and the technology refresh process.  And i6.1 or higher has new DB2 features that can dramatically improve the performance of IBM i and expand your abilities as an IBM I developer. 

One thing is clear, IBM is investing heavily in DB2 on IBM i.  I have been on the road now for two weeks of a six week road show.  (They let me go home on weekends to see how much the kids have grown).  As I visit all these events I notice there seems to be 2 guys from IBM Rochester talking about DB2.  This would not be so shocking if it weren’t for the fact that it’s rarely the same two guys!  It appears IBM has been hoarding an army of DB2 guys and now they are on the road talking about all the great new stuff!  This led me to a dramatic realization that makes perfect sense when you think about it.  If IBM invests in RPG, as they continue to do, then many RPG folks benefit, same for Java and COBOL, etc.  But, since we ALL use DB2, any investments IBM makes in DB2 benefits ALL OF US!  Yes, PHP gets faster and more powerful as IBM improves DB2!
 
Yep, PHP, RPG, COBOL, Java and all the utility vendors benefit from performance and feature improvements to DB2. Makes sense to me.  As I have no idea how much IBM spends on IBM i R&D and know even less about how they divide it up, I can only guess that the portion invested in DB2 is significant. Why?  Think about it.  Anything IBM changes in DB2 has to be rock solid and virtually bulletproof.  The main reason for this is that IBM themselves are using DB2 on IBM I to run parts of the OS!  This means the developers have added pressure of IBM management breathing down their backs as well as customer satisfaction.

IBM uses the carrot and stick approach to get customers to upgrade and update their systems.  In some cases, folks simply cannot cost justify an upgrade.  I am not looking to start a religious war about why a company should or should not go off maintenance.  But I do understand that these are tough times and every penny counts.  So if you are a company on maintenance and you have a machine that can go up, why haven’t you?  Time?   Experience?  Confidence?  Could be a myriad of reasons why you are holding off.
 I ask you to look at the benefits, however.  I have a customer who recently planned a hardware upgrade. Obviously, the upgrade would go smoother if they upgrade the OS from V5R4 to i7.1 before attempting the hardware, so they did.  There were so many performance improvements and opportunities to improve DB2 performance that they were able to cancel the hardware upgrade.  Think about that value!  A company was able to postpone a significant investment just by implementing a newer version of the OS that THEY WERE ALREADY ENTITLED TO thanks to their SWMA!

If you can swing new hardware, there are things like smaller footprints and lower power utilization.  We have a new Power 720 in our office with 9 LPAR’s and I am amazed at how powerful it is as well as easy to administer.  Now, I did get some help setting the machine up.  But once it was set up it has been great!   Which brings me to my last point, excess power? 

In many cases I have customers who have upgraded hardware to stay current on maintenance or simply to add a little capacity like disk, etc.  What some of these folks discover is that their machines have excess capacity at the end of the upgrade.  So what to do with that capacity?  I have a few ideas.  How about an open source CRM or content management system written in PHP?  By implementing something like Joomla, Drupal, MediWiki or SugarCRM, customers can take advantage of this excess capacity by leveraging PHP natively on IBM i and simultaneously avoid the investment in additional Intel infrastructure. 

Nice. 

Monday, April 16, 2012

Open Source Tools for IBM i

Tools anyone?
Rather than blather on about the new toolkit, once again, I was struck by an opportunity I saw recently in the open source arena. One of the things I love about open source is the idea that I can kick the tires before buying into a solution. There will always be those folks out there who refuse to pay for anything, regardless of the level of value they derive from someone else’s efforts. There are many ways to contribute to the open source community that do not require code and here is an article that highlights a few.

So as I was discussing the open source arena the other day with a colleague he mentioned another project. Like Zend Server CE that is distributed for no charge and has an optional support model. The is attractive in many ways, mostly by breaking down the barrier to entry to almost nothing. Also, it provides an insidious way for some derelict companies to modernize. It still shocks me to run into a company with apathetic management or “coasters” (those who have a couple of years to go before retirement and do not wish to risk anything new.)
I want staff to stand up and start skunk-works projects and here are a couple of way to do that. Managers are welcome to exploit these techniques, as well.

phpMyAdmin – comes pre-installed with Zend Server
This is an open source utility written in PHP that provides nearly every administrative function necessary for MySQL. The MySQL Monitor (command line interface) can seem a bit intimidating for the uninitiated and this interface really softens the blow. Getting familiar with MySQL makes like a lot easier and is required when ramping up on other open source projects like SugarCRM, MediaWiki, Joomla and Drupal, all of which I have installed and run on IBM i. Here is a helpful tip:When you first install MySQL, either as part of Zend Server or as part of the Zend DBi product just released by Zend you should realize the ROOT user profile (MySQL equivalent of QSECOFR) has no password. Immediately upon installation of the MySQL Server I create a powerful profile for myself and once I have verified that it is working I set the password to ROOT so that no one can hack my implementation.

Content Management with Drupal or Joomla or whatever…
Putting up a website can seem like a daunting task. Installing something that can manage the site might make more sense, especially if your company is contemplating a new Intranet. There are many open source content management systems (CMS) out there to consider. I have been a big advocate of Drupal since it has a VERY large and rabid following and seems to have many key features folks want in their sites. But truly any content management system will do. The folks at WMCPA and COMMON selected Joomla as their CMS of choice and have been very pleased with it.

Documentation?
A while ago I picked up a tip from Jon Paris of Partner400 fame. The idea was to take a wiki application and allow end users to build their own doc. Jon recommends PMWiki and while I am not terribly familiar with that solution I tend to advocate MediaWiki. MediaWiki has a great feature that is activated by default. This feature can be turned on to allow the IT staff and developers to build the end user documentations for programs and processes within the organization. AND for each page they build there is a corresponding end user documentation page that is fully annotatable. Meaning, end users can makes notes right on the page running in PHP and updating MySQL running directly on IBM i. Think of some of the added benefits to this approach like automatically backing up end user documentation with each SAV of the IFS or option 21. Also, think of disaster recovery scenarios where the end user doc is now immediately available after restoring the system. No need to recover a file server or windows/linux box.

There are quite a few interesting options out there and I would strongly recommend you check out the YiPs website for more details… or, let your fingers do the walking with Google.

Tuesday, March 13, 2012

Spring has sprung and so has conference season!

Spring has sprung here in Chicago and that means getting on the road! I’m coming to see you!
Actually, everybody at Zend is excited about all the new announcements and events coming up so I thought I would run some of them down for you. You can always get the latest on the most recent events from the Zend Event Calendar and the monthly newsletter. But a little nudge every once in a while doesn’t hurt.

While I love to run around the country and the world to spread the good news about PHP on IBM i, the real value for me is meeting a bunch of AWESOME people. These folks really understand systems if they have an IBM i we can instantly click. I spend a great deal of time in and out of sessions helping to marry these folks with that awesome infrastructure with a contemporary language like PHP. It is truly a luxury, but don’t tell my boss because he’ll think I am having too much fun. Plus I have an awesome collection on miniature shampoo bottles from hotels around the world.

This month I will be heading to Lake Geneva, Wisconsin for the annual WMCPA Conference on March 20-23. Here are some folks who not only understand the value of PHP (Their website is Joomla running on IBM i) they also support a fantastic educational event with headlining speakers like Jon Paris, Susan Gantner, Pete Massiello and PHP evangelist Alan Seiden, just to name a few. I’ll be doing a couple of presentations and a PHP workshop! Stop by the Zend booth.

Next, I follow Jon and Susan down to Ft Worth, TX for the semi-annual RPG & DB2 Summit. This event draws out some of the strongest RPG programmers I have ever met. Many of whom are interested in moving forward with PHP as well as RPG and that is just perfect. These folks will really appreciate the new open source toolkit bundled into Zend Server 5.6 to leverage legacy RPG business logic.

A quick trip to the bay area to stop by HQ and then I am off to Framingham(Boston), MA for the annual NEUGC conference on April 2-4. This is one of the biggest events in the Northeast that will focus on IBM i centric technology. This will be my first appearance at this event and I hope not the last. We will be running a hands on PHP workshop as well as several sessions on PHP content.

There may be a few pother events beforehand but let’s not forget the big one, the COMMON Annual Meeting in Anaheim on May 6-9. Zend will have a booth and I will be doing several sessions and maybe a biggie on Zend DBi, the new MySQL distribution from Zend Technologies. With over a dozen sessions on PHP and hundreds of sessions on IBM i and AIX content, this is sure to be the biggest event in the US. I have seen many great activities planned around the conference so make plans to be in Disneyland this week!

What about outside of the US? Well, Vienna is supposed to be very nice in June! Yes, COMMON Europe will be holding their annual event in Vienna Austria this year on June 9-12 and Zend will be there for the festivities. With presentations, a booth and several events we expect this to help COMMON celebrate 50 years in Europe!

Have I ever mentioned that all those website links in the previous text are pointing to PHP applications? The COMMON and WMCPA sites actually run on IBM i!

So hopefully I will be around your neck of the woods soon. If not, drop me a line and let’s see if I can swing by! I live for user groups and more!

Friday, February 17, 2012

How does PHP perform on IBM i?

Many folks who explore PHP on IBM i are very excited about a solution that works quickly, easily and efficiently. When you grow up from hello world to data inquiry to full blown CRUD you begin to pull a bit harder on the resources that the IBM i has to offer. And it happily accommodates you.

Myths
So there are many “myths” about the IBM i. Some will insist that Linux servers are “faster” than the IBM i. In part that may be true and false but for a variety of reasons. However, most of my customers do not have an IBM i because it is the “fastest” computer in the house even though these new Power 7 servers are pretty zippy. Most of my customers have IBM i because of the fact that they lived through the reality of TCO and they have legacy system investments that span decades that they simply do not wish to walk away from. Others will have you believe that the IBM i is not modern. To that I say you have not been to an IBM i event, lately. There are more advanced features in an IBM i today than ever before. With Virtualized everything, PHP, Java, MySQL and all the power of RPG Open Access the IBM i competes quite effectively. But I will spend a few minutes here speaking about the primary value prop of the IBM i: Consolidation.

All the eggs
Consolidation is all about many different workloads happily coexisting on a single platform. It reminds me of growing up on the Southwest side of Chicago in a 2 bedroom bungalow where my parents and three siblings “peaceably” coexisted for many years. Sure there was some tension when we were all packed into a small space. But it also brought about an intimacy that today seems impossible to duplicate no matter how often we “get together”. As we have scattered to the 4 winds we still maintain a closeness, but not nearly as strong as the days we were all together. So one would argue that at times having 6 people in line for the bathroom could slow us down. But at other times, when we wanted to install a new pool, many hands made for light work and would or could do things in a day that could never be accomplished by a single person. I see significant similarities between this life growing up and the data center that blasts apart applications by platform.

PHP
Getting back to PHP, when you have all these applications happily humming along on your IBM i there are bound to be conflicts, just like between me and my brother and sisters and so on. So what should we look for? The first thing to do is “don’t just throw hardware at the problem”. Even if you completely believe that hardware is your issue, you should still capture some metrics. There are several tool vendors that can gather these metrics as well as IBM. One partner I worked with had a relationship where they were able to “rent” the tools to create reports. These reports proved we need the hardware, but also confirmed exactly what hardware was needed, where and when we were i/o or memory bound, etc. So let’s pretend that you have resolved the hardware issues, where do you go next?

Working through the “work management” features of IBM can sometimes seem like a dark art. So do the right thing and get a little help. Maybe you go to COMMON and follow the iDevCloud guys, Larry Bolhuis and Jim Oberholtzer like groupies! Another good call is to call your business partner and they offer some services. It’s OK to Google the issue and lurk around Midrange.com for solutions too. But the worst thing you can do is throw hardware at the problem and assume it is fixed or suffer in silence.

PHP workload can be very diverse. One of the things I always tell my users in a demo is that DB2 performance improvements made in PHP applications help not only the PHP script response time, but it also reduces the load on DB2! And, just like the rising tide that raises all boats, every reduction in resources made by building better indexes in DB2 leaves more CPW for the rest of the server. CPW that drives RPG, PHP, Domino and all other kinds of workload. I have a customer who was planning a hardware upgrade. We recommended that they turn on some key features in Zend Server and then upgrade from V5R4 to i7.1. Once they did, new tools became available to indicate where there were performance bottlenecks in their server. No, the upgrade was for the right reasons Disk and RAM rather than “let’s just go to the latest hardware…” Please do not misunderstand me, if you need new hardware, processors, etc. then the investment should be made. But it should be made intelligently. Newer prices on Power7 hardware and maintenance can, in many cases, make the case for upgrading. Get your IBM BP involved and if you do not have an IBM BP or it is time for a change reach out to someone you trust. We have had good luck with the iDevCloud folks and you can too.

This was just a nugget of what we will talk about in the next IBM i webinar at Zend.com. Tune in for more so you too can benefit from the performance possibilities of Zend Server and IBM i.

Monday, January 23, 2012

New Toolkit, anyone?

Want a new, simpler way to access IBM i artifacts like HLL Programs and Spooled files? The new open Source toolkit is just for you!

Zend Server for IBM i 5.6 no longer ships with the old i5 toolkit. That much is true. And there has been some press about the expiration of the relationship with Aura, the authors of the toolkit we have used for the last few years. Zend’s official position can be found here. So with change comes the good, the bad and the downright awesome! What we are witnessing here is not just a new toolkit, but the dawning of a new era in software development.

IBM has been a primary engineer of the new toolkit as they have built XMLSERVICE. XMLSERVICE is IBM's first (as far as I know) official entry in the open source arena regarding IBM i. Sure IBM has contributed projects like Eclipse and contributed to projects like Apache and others. But XMLSERVICE represents IBM Rochester’s biggest investment in opening a new technology to the community that will drive IBM i workload for PHP and other open source languages to come. Yes, I said it, when the right group comes around to support Python or Ruby, IBM will be ready and waiting with XMLSERVICE to take care of their system integration needs! Special shout out to the YoungiProfessionals website for hosting the project up to now. the new home is a closely guarded secret, but will be made available very soon. And a GREAT BIG community shout out to Tony Cairns for the development work on XMLSERVICE, Sam Pinkhasov on the Toolkit API and Alan Seiden for the CW!

Zend is the first official consumer of XMLSERVICE by introducing the new Toolkit API classes into Zend Server. These classes represent the plumbing necessary to communicate with XMLSERVICE and return values important to the IBM i developer whether they be parameters from HLL programs or values from data areas. Oh, and we fixed a few things along the way. If you ever tried calling a sub-procedure from PHP you might have gotten frustrated with the fact that all you could get back was an INT. Well, not any more! The new toolkit can process goo-gobs of stuff and pass all kinds of data around the house.

But I have all those i5 function calls out there, what do I do? Well, as the FAQ indicates, we are also introducing the new Compatibility Wrapper classes in the new toolkit. These classes will deliver the ability to code i5 function calls using the procedural model and have the work completed by the new toolkit. This fills the last gap in the migration of the new toolkit. Customers who upgrade from previous versions of Zend Server for IBM i to Zend Server for IBM i 5.6 will still be able to use the old toolkit, if they so choose. But they also have the option to explore the new Open Source toolkit, as well. Kind of like having you cake and eating it too!

I just got back from Toronto where I introduced the new toolkit to TUG and it seems the enjoyed the presentation. I’ll be doing that at Omni in Chicago tomorrow and maybe at a local user group near you, soon! Drop me a line and let’s talk!

Monday, November 28, 2011

PHP jobs and IBM i

If you were wondering where the next opportunity is in IT then PHP might be just the thing for you.

I was reading a newsletter from another IBM i pundit who was disparaging the future of the IBM i & for RPG programmers using a statistical grid from the job trends section of Indeed.com. Indeed.com is a site that tracks IT job opportunities and has a nifty graph that lays them in so you can make comparisons. The best part is that it is very easy to use. The author of the newsletter was trying to diminish RPG as a language with little future because Indeed.com had very few hits. I was not happy with his assessment and posted a response. Unfortunately he is moderating his postings and chose to not allow mine through, as of this writing. So here is what his graphic looks like as he put it forth:



As you can see from this image, the future for the typical RPG programmer looks pretty bleak. That was what the author was trying to portray. But these graphs can be interpreted in many ways. First of all, the entire RPG job market is not very big to begin with. Also, I had gotten my last 3 RPG opportunities via recruiters and they do not post openings via boards like this. As this graphics is display Percentage of opportunities over all, then yes I would agree that there are not nearly as many job opportunities for RPG developers as there are for Java developers, etc. But I could hardly put this on RPG or the IBM i. Another thing to point out is that some of those Java jobs might be on IBM i. That skews the whole equation. What I did when I read the piece and followed the authors link is I added one more language to the chart. This language is called PHP and look at the graphic it created:



In this graphic we can see that the market for PHP developers is on a steep incline. Are any of these opportunities on IBM i? I am not sure. But I have heard of a few IBM i shops leveraging their significant investment in RPG and COBOL while opening up to the open source continuum with PHP. One can also infer fro the above graphic that PHP job growth is far more explosive than many other contemporary languages and that since PHP runs natively on IBM i there might be a future! I believe there is a future to IBM i and that future is made up of many technologies and third party solutions. All should be evaluated and considered when the traditional green screen shop starts looking to go to a GUI solution. And then in the spirit of the season, you select PHP.

The truth, as many of you already know is that statistics can be manipulated to support or defend nearly any idea or agenda. Please read as much as you can about a certain topic but do NOT accept any one persons view as the truth without first evaluating it creditability with at least a little Googling.

Happy Holiday's!

Mike

Monday, October 24, 2011

To OO or not to OO, that is the question...

I grew up with procedural programming. What does that mean? To me it means I have spent a MAJORITY of my business career delivering value to companies by developing programs that have subroutines and possibly functions and sub procedures. I like to think I have added tremendous value but at the same time I also realize that some of my code has been superseded by newer programs and alternate methods.

But everyone tells me that OO (Object Oriented programming) is where I should be! The “industry” is/has moved to the OO model of development thanks to such powerful languages like Java and C++. Even PHP has an OO model to let me feel like I am playing along. So what should I do? Well, here is my tale on the OO paradigm and I hope this makes some sense to all of you!

As a procedural programmer in the 90’s I heard the “good news” of Java from IBM. I struggled with Java at first and then had some VERY marginal success. I found it cumbersome to try and learn, not because Java was necessarily hard, but because I was trying to absorb too much at one time. Many challenges plagued this old RPG dog like a new language, syntax, structure, environment, etc. I’m not the only one who struggles, even Carnegie Melon dropped OO from their freshman curricula because students were coming up with not nearly enough experience in developing algorithms.

Enter in PHP and the opportunity to learn something new. PHP becomes the ideal language for education and more since it can start you at your level. Think of the PHP landscape as a major expressway with different lanes for more or less experienced drivers. Folks who come to PHP with no programming experience can start with very simple inline code. For those of us who hail from the procedural world we can pick up with functions. And for those who are flying in and out of traffic with a Java or C++ background there is a fully support Object Oriented model to work with.

I have been recommending PHP to many educational institutions and have it on good rumor that the curricula I have been teaching at Moraine Valley Community College will become permanent courses called MIS126 and MIS226. These courses start at procedural PHP and then work up to and through the Object Oriented realm. This is great news as we can now add more PHP developers to the world and demonstrate that PHP is not just a hobbyist language by delivering classes in true academia!

For those who cannot wait, the educational path at Zend offers PHP 1 Foundations for IBM i Programmers and PHP Foundations 2: Higher Structures. The first class takes an RPG programmer from zero to sixty with a full immersion in the functional world of PHP while the second class starts off at functions and whips you up into the object oriented realm.

Even more educational opportunities exist at places like SystemiNetwork where we are about to begin a whole new online sequence for PHP training.

No excuses, get out there and play!