OS/400 PASE 入门
跨平台应用程序开发和部署是任何有效的商务计算环境的关键组成部分。同样重要的是使用的简易性和系统提供功能的集成 — iSeries 和 AS/400e(TM) 服务器的标志。由于业务转移到日益开放的计算环境之中,您很有可能会发现,归档这些离散的目标很困难、费时和昂贵。例如,您可能想要熟悉在 AIX 操作系统上运行的应用程序,并充分利用 AIX 操作系统的功能,但您却不想增加管理 AIX 和 OS/400 操作系统的负担。
此时 OS/400 可移植应用程序解决方案环境(OS/400 PASE)可帮助您解决问题。OS/400 PASE 允 许您在 OS/400 上稍加更改或不作任何更改的情况下运行许多 AIX 应用程序二进制,并有效扩展您的平台解决方案任务夹。
OS/400 PASE 是什么?
“OS/400 可移植应用程序解决方案环境”(OS/400 PASE)是用于运行在 OS/400 上的 AIX 应用程序的集成运行时环境。它支持 AIX 的“应用程序二进制接口”(ABI),并支持 AIX 共享库、外壳程序和实用程序所支持功能中的大部分。OS/400 PASE 支持 PowerPC(TM) 机器指令的直接执行,因此它没有只模仿机器指令的环境的缺点。
OS/400 PASE 应用程序有以下特点:
? 可以用 C、C++、Fortran 或 PowerPC 汇编程序来编写
? 使用与 AIX PowerPC 应用程序相同的二进制可执行文件格式
? 在 OS/400 作业中运行
? 使用 OS/400 系统功能,如文件系统、安全性和套接字
请记住,OS/400 PASE 不是在 OS/400 上的 UNIX 操作系统。OS/400 PASE 的设计目的是为了作很少更改或不作更改便能在 OS/400 上运行 AIX。来自任何其它基于 UNIX 环境中的程序要先被改写才能在 AIX 上进行编译,这是在 OS/400 PASE 中运行这些程序的第一步。
OS/400 PASE 集成的运行时在 iSeries 服务器上的“许可内码”(LIC)内核上运行。该系统集成了跨越 OS/400 PASE 和其它运行时环境(包括 ILE 和 Java(TM))的许多常用 OS/400 功能。OS/400 PASE 实现了大部分的 AIX 系统调用。 通过控制 OS/400 PASE 能访问的存储器并限制它只能使用无特权的机器指令,OS/400 PASE 的系统支持加强了系统安全性和完整性。
无须费力即可迅速部署应用程序
在很多情况下,可能作很少更改或不作更改就能在 OS/400 PASE 中运行 AIX 程序。所需的 AIX 编程技巧水平会因 AIX 程序的设计而异。另外,通过在程序设计上提供额外的 OS/400 应用程序集成(如使用 CL 命令),便无须对应用程序用户的配置过多担忧。
OS/400 PASE 为想在 OS/400 市场上共享成功的解决方案开发者增加了另一个移植选择。通过提供可显著减少移植时间的方法,OS/400 PASE 能使解决方案的开发者加速推出产品并增加投资回报。
OS/400 上的 AIX 技术的广泛子集
OS/400 PASE 实现了以 AIX 技术的广泛子集为基础的应用程序运行时,其中包括:
? 标准 C 和 C++ 运行时(线程安全和非线程安全)
? Fortran 运行时(线程安全和非线程安全)
? pthreads 线程包
? 用于数据转换的 iconv 服务
? Berkeley 软件分发(BSD)等量支持
? 对 Motif 小配件集合的 X-windows 客户机支持
? 伪终端(PTY)支持
应用程序在 AIX 工作站上开发和编译,然后在 OS/400 上运行,而该 AIX 工作站运行的是与 OS/400 PASE 支持的某级 AIX 兼容的 AIX 级别。
另一个选择是,您可以在 OS/400 PASE 环境中安装以下两个产品中的一个,以完全在 OS/400 PASE 中开发、编译、构建和运行应用程序。
? IBM(R) VisualAge C++ Professional for AIX(V6)
? IBM C for AIX(V6)
有关详细信息,参见编译 AIX 源。
OS/400 PASE 还包含 Korn、Bourne 和 C 外壳程序,以及大约 200 个提供功能强大的脚本编制环境的实用程序。有关更多信息,参见 OS/400 PASE 外壳程序和实用程序。
OS/400 PASE 使用 IBM 在 AIX 和 OS/400 操作系统的通用处理器技术方面的投资。为在 OS/400 PASE 运行时中运行应用程序,PowerPC 处理器从 OS/400 方式切换至 AIX 方式。
在 OS/400 PASE 中运行的应用程序与 OS/400 集成文件系统和 DB2(R) 通用数据库(R) iSeries 版集成在一起。它们可以调用 Java 和“集成语言环境”(ILE)应用程序,也可以被这些应用程序调用。一般而言,它们可以利用 OS/400 操作环境的所有功能和特性,如安全性、消息传递、通信、备份和恢复。同时,它们可以利用派生自 AIX 接口的应用程序接口。
OS/400 PASE 对于应用程序的开发何时是有用的选择?
在决定如何将 AIX 应用程序移植至 iSeries 服务器时,OS/400 PASE 提供很高的灵活性。当然,OS/400 PASE 只是您可以选择的多个选项之一。
API 分析
在确定应用程序是否适合 OS/400 PASE 时,首先要做的是应用程序分析,包括分析应用程序使用的 API 、库和实用程序及应用程序在 OS/400 上运行的效率。IBM PartnerWorld(TM) 组使用 API Analysis Tool 提供此区域的帮助。API 分析工具是一个免费的移植评估工具,用于分析应用程序和描述潜在的障碍性阻塞。有关该分析工具如何适用于将应用程序移植至 OS/400 PASE 的过程的更多信息,参见准备在 OS/400 PASE 上运行的程序。
潜在的 OS/400 PASE 应用程序的特征
以下是一些有用的指导,您可以在决定是否使用 OS/400 PASE 时考虑使用这些指导:
? AIX 应用程序是否为高度计算密集型的程序?
OS/400 PASE 通过提供高度优化的数学库为在 iSeries 服务器上运行计算密集型的应用程序提供了一个良好的环境。
? 应用程序是否非常依赖于只在 OS/400 PASE 中支持(或只在 ILE 中部分支持)的函数(如 fork()、X-Windows 或伪终端(PTY))?
OS/400 PASE 提供对 fork()和 exec() 的支持,而当前在 OS/400 系统中并未提供这种支持(除了通过 spawn() 之外,通过它可将 fork() 函数与 exec() 函数结合起来)。
? 应用程序是使用基于 AIX 的复杂构件过程还是使用测试环境?
OS/400 PASE 允许您使用基于 AIX 的构件过程。当存在着未准备好传送至新平台的现有的复杂过程时,该过程特别有用。
? 应用程序是否与 ASCII 字符集有相关性?
OS/400 PASE 为具有这些需求的应用程序提供了良好的支持。
? 应用程序是否会进行大量的指针处理?还是会将整数转换(cast)为指针?
OS/400 PASE 以很低的性能成本和将整数转换为指针的能力支持 32 位和 64 位的 AIX 寻址模型。
当 OS/400 PASE 可能是最好的解决方案时
对于提供大量必须从 ILE 调用的可调用接口并且具有以下任一特征的代码,OS/400 PASE 通常不是一个好选择:
? 需要更高性能的调用和返回的代码,此代码所需的这些性能要比在一个已激活的 OS/400 PASE 程序中每次调用 OS/400 PASE 过程(使用 Qp2CallPase API)时启动或结束 OS/400 PASE 所提供的性能高。
? 需要在 ILE 调用程序和库代码之间共享内存或名称空间的代码。OS/400 PASE 程序不会与调用它的 ILE 代码隐式分享内存或名称空间。(但是,从 OS/400 PASE 中调用的 ILE 代码可以分享或者使用 OS/400 PASE 的内存。)
安装 OS/400 PASE
所有 iSeries 服务器均可免费获得 OS/400 PASE。建议安装 OS/400 PASE;有些系统软 件(如增强的域名服务器(DNS)和 ILE C++ 编译器)需要 OS/400 PASE 支持。
在服务器上安装 OS/400 PASE:
1. 在 OS/400 命令行输入 GO LICPGM。
2. 选择 11. 安装许可程序。
3. 选择选项 33(5722SS1 — 可移植应用程序解决方案环境)。
语言环境安装
OS/400 PASE 产品只安装与已安装在 OS/400 上的语言功能部件有关的语言环境对象。如果需要服务器上的语言功能部件之外的语言环境,则可能需要订购和安装额外的 OS/400 语言功能部件。更多信息,参见 OS/400 PASE 全球化和 OS/400 PASE 语言环境。
将应用程序移植到 OS/400 PASE 的软件开发者的许可注释:
OS/400 PASE 提供 OS/400 系统上的 AIX 运行时库的子集。OS/400 许可证授权您使用随 OS/400 所交付的任何库代码。此许可证不暗示不随 OS/400 PASE 交付的 AIX 库的许可证。所有 AIX 产品由 IBM 单独许可。
开始将您自己的应用程序移植到 OS/400 PASE 时,可能会发现应用程序具有与不是随 OS/400 PASE 交付的 AIX 库的相关性。将这些库移植到 OS/400 系统之前,应该确定哪些软件产品提供这些库,并检查此软件产品的许可证协议条款和条件。它可能是使用 IBM 或第三方来将附加中间件的相关性移植到 OS/400 系统中所必需的。在开始移植之前,应该调查涉及您正在移植的代码的每份许可证发放协议。如果需要在适当的位置找到与您认为属于 IBM 的库有关的许可证协 议,请与 IBM 销售代表、IBM 移植中心之一、罗彻斯特的客户技术中心(Custom Technology Center)或 PartnerWorld for Developers 联系。
0