29
Fri, Nov
0 New Articles

Can Your UNIX Apps Keep Up the PASE?

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

With IBM’s recent announcement of AS/400 Portable Application Solutions Environment (PASE), which is the marketing name for the actual name Private Address Space Environment, many UNIX users and vendors are wondering whether or not their applications will run on the AS/400. That’s a good question. The short answer is probably, but, then again, maybe not. Don’t you just love a wishy-washy answer like that?

Unfortunately, that’s about as direct an answer as you can get until you begin analyzing each and every program you want to run in AS/400 PASE. That’s because moving your UNIX applications to the AS/400 is a bit more complex than just saving them on your UNIX system and restoring them to your AS/400. While this article cannot provide a detailed, step-by-step process for porting your individual UNIX applications to PASE, it does provide information you need to get started in determining whether or not your UNIX applications will work on the AS/400.

What It Is

PASE is a UNIX runtime environment for the AS/400. Take note of the word runtime. PASE is not a UNIX operating system for the AS/400. What this means is that, with anywhere from very little work to a whole lot of work (depending on the requirements of specific applications), you can port existing UNIX-compiled binary objects to the AS/400 and run them on the PowerPC processor found there. These objects can integrate with the AS/400’s database and can take advantage of the AS/400’s Backup, Save, Restore, and Security functionality as well. What you cannot do is create and compile UNIX code into executable objects on the AS/400. For new UNIX applications or for modifications to existing UNIX applications, you need a UNIX environment running on another machine, such as a Sun Solaris.

PASE is a reality on the AS/400 because it takes advantage of the AS/400’s ability to switch between the operating system runtime modes Tags Active and Tags Inactive. Tags Active means that the AS/400 executes 64-bit applications such as RPG IV programs you develop every day. Tags Inactive means that the AS/400 executes 64- or 32-bit AIX applications. PASE uses the Tags Inactive runtime mode to run UNIX applications.

One of the nice things about applications ported to PASE is that they can be fully integrated with the AS/400’s ILE environment. This is accomplished by using the same Call Level Interface (CLI) library for DB2/400 with PASE as the one supported for AS/400


ILE. This means that your RPG IV or COBOL programs can call and trade data with UNIX applications running in PASE. Keep in mind, though, that data sent from and returned to the UNIX applications is first converted to ASCII from EBCDIC. This can quickly lead to performance issues if your UNIX applications need to do a lot of data exchanges with ILE applications.

Analyzing Your UNIX Applications

Before you can port your UNIX applications to the AS/400, you first need to know what, if anything, needs to be changed to make them work in PASE. PASE does not support all AIX runtime libraries, and, for those that it does support, it may implement them in a manner slightly different from what your UNIX applications may be expecting.

IBM provides a tool called the API Analysis Tool that you can use to evaluate the suitability of your UNIX applications for running on the AS/400. This tool, available from IBM’s Web site at www.as400. ibm.com/developer/porting/apitool.html, consists of two parts: a front-end and a back-end. The front-end portion is a UNIX script that you run on your UNIX machine to scan existing UNIX applications’ symbol tables using the UNIX dump command. The API Analysis Tool looks for interfaces (function calls) used by the applications. When you run the script, it produces a report that you then email to IBM for analysis (the back-end portion of the tool). Because you have to do this for every UNIX application you are considering porting to the AS/400, the idea of porting your entire UNIX suite of applications is somewhat less than appealing.

What’s Supported

The table in Figure 1 is a subset of a table provided by IBM on its UNIX porting Web site. This table shows the supported UNIX standards as well as the OS/400 version and release levels they are supported on. The following is a summary of some of these functions:

• POSIX file I/O byte stream support of the AS/400 Integrated File System (AS/400 IFS)

• Process management—used for parent/child relationships for starting and stopping jobs

• Semaphores—allow synchronization to control access to shared resources

• Shared memory—allows parts of applications to share memory space

• Network File System (NFS)—transparently shares file data in UNIX-based client/server applications (The AS/400 can be either an NFS server or an NFS client.)

• Transport Independent Remote Procedure Call (TI-RPC)—separates and distributes client applications from server mechanisms

• Qshell interpreter—allows command-line access to UNIX commands

• Environment variables—set environment parameters outside the scope of executing applications

For a complete list of supported UNIX functions, check out the IBM Porting Options and Sources Web page, the address for which can be found in the References and Related Materials section of this article.

As you can see from this short list, there are myriad considerations to be reckoned with before you can even begin porting your UNIX applications to the AS/400 and PASE. For each item listed above, there is a host of other questions that you must consider before deciding whether or not your UNIX applications are portable.


Take environment variables, for example. Most UNIX applications use CISC-type instructions, but most AS/400 applications use RISC instructions. If your UNIX applications are going to use environment variables on a RISC-based AS/400, you must remap those variables to use RISC. To do this, you merely have to add the extra, appropriate #include line to your UNIX code. Failure to do so, however, will cause your UNIX applications to fail when they attempt to execute in PASE.

There are a ton of these “little” modifications and fixes that you need to evaluate and implement before your UNIX applications will run without problems in PASE. Keep this in mind when deciding whether or not you want to get into the application porting business.

Other Considerations

Beyond evaluating the specific function calls of your UNIX apps, there are other areas you need to consider before porting your applications:

• What AS/400 hardware will support your applications? In other words, if you port your UNIX software to the AS/400, which AS/400 platform can you market it to? PASE runs only on e-machines, so you can’t market your applications to users of older AS/400 systems.

• Which version of AIX were your UNIX applications compiled with? Depending on the version used, you may need to recompile your applications prior to going to a specific OS/400 version and release. As an example, if your UNIX applications were created with or run on AIX 4.3.x and your target OS/400 version and release is V4R4, you probably need to recompile the code before you can run it in PASE. On the other hand, if your UNIX applications were created with or run on AIX 4.2.1, no recompilation is required. It gets pretty hairy real fast.

• If you port your UNIX applications to PASE on the AS/400 and then upgrade the AS/400’s hardware architecture (not just a processor upgrade), those applications need to be recompiled on a UNIX platform and remigrated to the AS/400 after the upgrade.

• There are many, many other issues to consider before you can even begin to evaluate whether or not your UNIX applications would be a good fit for PASE. For example, do your UNIX applications depend on the setguid and setgid commands? If they do, you need to modify them to use the “swap” function in OS/400 V4R4.

• Were your applications coded in C? If so, you need to recompile them using AIX compilers (xlc or gnu).

• Do your UNIX applications use embedded SQL? If so, you need to extract the database logic and build stored procedures that you will then call from your PASE-enabled applications.

I could go on and on, but there’s just not enough room in any one article to cover every possibility. Each UNIX application you want to port to PASE requires extensive analysis both by you and by IBM before you can feel comfortable that everything will work the way you think it should. Again, make sure you visit IBM’s Porting Options and Sources Web page as well as the AS/400 PASE Web site for a complete listing of all the porting considerations.


Opportunity Abounds

PASE offers a lot of promise to traditional UNIX applications and software providers. It opens up a whole new marketing world to them and makes the concept of the AS/400 a lot more attractive to shops looking to consolidate systems. PASE could be just the shot in the arm the AS/400 needs to appeal to the UNIX community and make converts out of them as it has out of the rest of us. However, porting UNIX applications to PASE is not yet a straightforward process. But those vendors and programmers willing to invest the time and effort to make it a reality are going to find that the pot of gold at the end of the rainbow is just sitting there, waiting for them to pick it up.

References and Related Materials

• AS/400 PASE Web page: www.as400.ibm.com/developer/factory/pase/index.html
• IBM Porting Options and Sources Web page: www.as400.ibm.com/developer/factory/porting.html

UNIX Function V3R1 V3R2 V3R6 V3R7 V4R1 V4R2 V4R3 V4R4

BSD Sockets OS OS OS OS OS OS OS OS POSIX File I/O OS OS OS OS OS OS OS OS CPA Threads CPA CPA CPA CPA CPA CPA CPA CPA Environment Variables CPA OS OS OS OS OS OS OS Async Signals OS OS OS OS OS OS OS Process Management CPA OS OS OS OS OS OS Semaphores CPAOS OS OS OS OS OS OS Shared Memory CPA OS OS OS OS OS OS OS Message Queues OS OS OS OS OS OS OS Message Catalogs OS OS OS OS OS NFS OS OS OS OS OS TI-RPC OS OS OS Kernel Threads OS OS OS UNIX-style Shell OS OS OS

OS = Operating System CPA = Common Programming APIs Toolkit

Can_Your_UNIX_Apps_Keep_Up_the_PASE-04-00.png 509x304

Figure 1: PASE supports these UNIX functions on the AS/400.


SHANNON ODONNELL
Shannon O'Donnell has held a variety of positions, most of them as a consultant, in dozens of industries. This breadth of experience gives him insight into multiple aspects of how the AS/400 is used in the real world. Shannon continues to work as a consultant. He is an IBM Certified Professional--AS/400 RPG Programmer and the author of an industry-leading certification test for RPG IV programmers available from ReviewNet.net.
 
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: