From YiPs Wiki (i powered)

PASE: PASE Nutshell

Email from a IBM i community member to PASE team (me):

>> To most, including me, it (PASE) is just "the other side I rarely use". 
... E-x-a-c-t-l-y. 
... folks do not know and do not care PASE runs Java, PHP, SAP, and many other popular products on IBM i.
... only when you cross paths from "consumer" to "provider" does PASE become a mountain of knowledge to scale. 
... but we do want to grow our IBM i "PASE Geek Squad" (ala Best Buy), so i am here to help  

IBM i PASE Option 33 — installed on your IBM i machine, quietly running many popular products on IBM i (Java, PHP, SAP, etc.), but often shrouded in all the mystery of a good Indiana Jones movie.For those wishing to understand PASE with possibility of becoming a “provider” of PASE products (PHP, Ruby, etc.), you need a basic understanding of PASE expanded/enhanced IBM i job/processes.

PASE unveiled …

Put simply, AIX compiled binary code (PHP) is able to run inside same process as your ILE programs (RPG) “sharing” IBM i SLIC (OS/400 kernel) and Power PC hardware (figure below). IBM i PASE Option 33 re-distributes many common AIX binaries, so that you/customer do not have to go FTP them from another AIX machine (yep FTP binaries just that simple mostly)

         "IBM i process/job shared kernel trick"

  WRKACTJOB picture below shows PASE PHP running in the same job as any
  ILE RPG program (or any IBM i system API, etc.)

  One job/process running both PASE binaries and ILE
  programs using the SAME SLIC kernel ("the trick").

                   -- WRKACTJOB --

      :-------->ZEND2/QTMHHTTP/583559<------------:
      :                     :                     :
  |----------|---------|  | : |  |----------|---------|
  |        PASE        |  | : |  |       OS/400       |
  | PHP       libc.a   |  | : |  | *PGM       *SRVPGM |
  ========================| : |======================== MI (OS/400)
  AIX/PASE SYSCALL        | : |MI instructions
  privileged mode boundary| : |privileged mode boundary
  ========================| : |========================
  | IBM i SLIC kernel, same for OS/400 + PASE         |
  | (completely replaced AIX kernel /unix)            |
  |---------------------------------------------------|
  |  POWER PC hardware processor                      |
  |---------------------------------------------------|

Notes:

With simple knowledge of “SLIC kernel sharing”, sharing memory model (teraspace), sharing exception/signal model, etc., you can use the APIs that PASE team added to both ILE (Qp2CallPase, etc.) and PASE side (_ILECALL, _PGMCALL, etc.) to call PASE<>ILE (yes, call PASE works from RPG as well, see XMLSERVICE code this site if you want a really fancy application template)

Most everything else to reach expanded knowledge you get reading IBM i manuals (ILE side) and the AIX manuals (PASE side).

For those that-read-all-fine-print … PASE tends to run 80–90% of all popular functions of AIX needed to run most popular software (Java, PHP, SAP, etc.), but it is NOT a complete AIX system (please buy AIX system for that). So here is an idea of what PASE decided not to support …

CCSID issues

Have CCSID issues? Junk characters? Nothing works?

Author(s)

Tony “Ranger” Cairns - IBM i PHP / PASE

Retrieved from http://youngiprofessionals.com/wiki/index.php/PASE/PASENutshell
Page last modified on June 01, 2016, at 08:32 AM EST