As a member of the PASE development team, inquiries from the IBM i community regarding PASE often come to me. In one such recent email, the following phrase caught my eye:
To most, including me, it (PASE) is just “the other side I rarely use.”
PASE (Portable Application Solutions Environment) for IBM i is an optionally installable component of the operating system. There’s no charge for it. Specifically, if you were to go looking for it, it installs as Option 33. However, there’s probably no reason to go looking for it because you’d most likely find that it has, in fact, already been installed on your system and is quietly running one of the many popular offerings available for IBM i, such as Java, PHP, SAP and so on.
What?? It’s optional, but it’s probably already installed? That’s right. PASE is such an integrated part of the operating system these days that you’d have to go out of your way to remove it – at the risk of severely limiting your system. That’s why, for most, PASE is often shrouded in all the mystery of a good Indiana Jones movie.
PASE Unveiled …
Let’s look at how PASE enables IBM i to support AIX applications, using PHP as an example. Put simply, PASE enables AIX compiled binary code (e.g., PHP) to run inside the same process as your ILE programs (e.g., RPG) “sharing” IBM i System Licensed Internal Code (SLIC) and POWER hardware (see figure below).
Just to be clear, in PASE, AIX compiled binaries are NOT emulated in any way. They run directly on the POWER processor and in same IBM i job/process as your ILE programs. This is possible due to “shared” SLIC. And since the POWER processor supports both AIX 32-bit binaries and 64-bit binaries, PASE also supports both 32/64-bit AIX binaries. As such, PASE enables you to run many AIX applications on the IBM i operating system with little or no change, effectively expanding the portfolio of solutions available for the platform.
IBM i Project Manager …
The PASE environment shared kernel is very accurate matching AIX behavior. Most project managers report PASE porting and version upgrades cost pennies on the dollar compared to conventional application development. At the Rochester lab we walk the talk, to wit, about 98 percent of PASE runtime is borrowed directly from AIX with less than 2 percent change to fit our merged ILE/PASE environment.
IBM i Operator …
Since PASE and ILE programs share the same SLIC kernel, they also share the same basic exception/signal processing. Therefore, essential system operations are the same for both PASE jobs and non-PASE jobs, allowing IBM i operational tools like WRKACTJOB to view job attributes, end jobs, etc. As an IBM i operator, continue to use same familiar IBM i tools for PASE jobs, and when you have time, you can choose to learn all manner of new techniques offered via PASE shells and scripting (future blog).
IBM i Programmer …
PASE memory required for any program run stack, heap size or shared memory is acquired from same SLIC teraspace pools use by ILE programs. Therefore, ILE/PASE programs can share data and actually call routines in either environment. However, as a true Midwest geek I am bound by Minnesota nice, so I feel compelled to mention that it takes practice to use the ILE-2-PASE QP2 APIs and counter-part PASE-2-ILE _ILECALL, _PGMCALL APIs (future blog).
By the way, in IBM i 6.1 and later, ILE and OPM program models are better converged, so PASE memory can also be used by OPM programs. … Hey, if you haven’t done so already, isn’t about time you moved up beyond V5R4???
IBM i CTO …
We the people (IBM i people), say thanks to AIX developers worldwide for testing ported PASE production applications.
Sound funny? Maybe, but helps IBM i CTOs sleep soundly at night. We are not alone when running AIX ported PASE applications. Most often, AIX counterparts have lived through development trials and cost, tested each new version, and re-designed to fit customer feedback. After the AIX dust settles, we the people (IBM i people) pick up hard-earned AIX binaries for our own PASE production environments.
I tell you these things not because you need to completely understand them, but rather because I’d like to give you an appreciation for how thoroughly and seamlessly the environment has been integrated into IBM i. As a growing number of solution providers leverage PASE, it’s becoming more likely every day that you may be reaping the benefits of an application built to utilize the capabilities of AIX – and not even know it.
For those of you having an interest in a deeper understanding of PASE, perhaps looking for ways that you can further leverage the environment, I’ll follow up with another post featuring additional information, tips and useful resources in the near future.
This week’s blog was written by Tony Cairns. Tony is a member of the IBM i development team working on open-source solutions, including PASE and PHP enablement.
This blog post was originally published on IBMSystemsMag.com and is reproduced here by permission of IBM Systems Media.