On Sat, Jan 13, 2018 at 1:09 PM, john erps <jacobus.erps@xxxxxxxxx> wrote:
iSeriesPython is native, Python3 is not.
That's exactly how I would use the term "native". John Y. noted the
distinction in a blog post on the iSeries Python web site, saying "It's the
only Python for i that runs in the native i environment (QSYS.LIB), not in
PASE."
IBM could have ported the Apache HTTP Server to PASE. There had long been
an AIX port available. But rather than do that, they made a bigger
investment to migrate the C code to the ILE C compiler in order build a
server that would run on IBM i.
Thread performance may have been a consideration for choosing to port the
Apache HTTP Server to IBM i rather than PASE. But even more relevant was
the issue of CGI. The AIX implementation was designed to call AIX binaries.
One can imagine how pathetic it would be to require an AIX CGI binary to
implement some form of inter-process communication with QZDASOINIT Jobs in
order to make calls to IBM i programs.
PASE is more vulnerable to hacking than IBM i. PASE requires IBM i host
servers to be running in order to access IBM i resources (files, database,
data areas, data queues, commands, programs, etc.). It appears that the
most effective way to gain unauthorized access to IBM i resources is to
first gain control over a device (whether mobile, workstation, or server).
Then use that device's host server interfaces to gain access to IBM i
resources.
Rather than having to manage the additional security, some shops would
rather not run host servers on IBM i, and not expose their IBM i resources
to those kinds of hacks.
Linux and Unix have real issues with managing OS and application
dependencies that change based on version. They came up with the notion of
containers to manage that. It entails a lot more effort to manage disparate
versions. More work for developers and administrators that was
traditionally not a concern for IBM i DEVOPS.
As an Amazon Associate we earn from qualifying purchases.