IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Open source | Information Management  >

使用 PHP on System i,第 1 部分: 介绍与示例

概览、样例应用程序和小组体验

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

Margaret Myslinska, 软件工程师实习生, IBM
Andrew Nere, 软件工程师实习生, IBM
David Swenson, 软件工程师实习生, IBM
Gloria Velazquez, 软件工程师实习生, IBM
Kathryn Lamont (kathrynl@us.ibm.com), 软件工程师, IBM
David Peraza (dperaza@us.ibm.com), 软件工程师, IBM

2007 年 1 月 30 日
更新 2007 年 3 月 11 日

了解如何在 System i™ 上安装 PHP 和 DB2®,并了解如何在 i5/OS(R)® 上将 MySQL 应用程序迁移到 DB2。了解 PHP 的历史和架构类型,包括将 i5/OS、Apache HTTP 服务器与 IBM DB2 数据库结合使用以将 PHP 应用程序迁移到 System i 的新架构。阅读 PHP Web 应用程序的示例。了解 PHP 应用程序为什么对中小企业尤为有益,因为开源 PHP 应用程序通常成本不高且易于获得。[编辑注:文中 CCA Cryptographic Service Provider 的产品选项由 13 改为了 35。标题改为了新系列文章的第一篇。]

简介:分享体验

2006 年 4 月 3 日,IBM® 和 Zend Technologies Ltd.™ 开始将超文本预处理器(PHP)引擎和 PHP 开发工具迁移到 System i 平台。PHP 在开源社区十分流行,因为它能够创建动态 Web 应用程序。毫不夸张地说,PHP 开源社区已经为各种客户开发了数以千计的 PHP 应用程序。System i 客户会为此新兴技术带给商界如此大量的应用程序和功能而感到雀跃不已。

以下三个部分说明了三个主要主题:

  • 概览 —— PHP on System i 概览,包括 PHP 的历史,PHP 对 System i 的重要性,现有可用于 PHP 的架构的类型。

  • PHP Web 应用程序 —— PHP 应用程序,包括三种特定应用程序的示例。

  • PHP on System i 安装和数据库注意事项 —— 我们对 PHP on System i 的全部体验。此部分包括 PHP 的安装,如何将 DB2 数据库与 PHP 结合使用,以及如何将现有的 PHP 应用程序迁移到 DB2 数据库中(包括在 i5/OS 上将 MySQL® 数据库应用程序迁移到 DB2 时可能遇到的各种常见的不同之处)等信息。




回页首


PHP on System i 概览

PHP 最初是从个人主页 起步的:Rasmus Lerdorf 在 1994 年编写的一个简单的 Perl 破解程序。现在,PHP 是指超文本预处理器。1997 年,Zeeve Suraski 和 Andi Gutmans 共同开发完成了 PHP 3。那之后不久,他们创立了 Zend Technologies Ltd.,该公司推出了适用于 PHP 的 Zend 引擎。

PHP 的一个主要特点是用 PHP 编写的应用程序大多数都是开源的。开源 意味着每个人都可以自由访问代码并可以修改和重新分发这段代码(既可免费也可收费)。鉴于此,可以使用很多 PHP 应用程序,而且其中的大多数都是免费的。此类应用程序的示例包括 wiki、公告板和购物车,您可以使用这些应用程序帮助管理和运营中小企业。

PHP 的流行度

PHP 是目前使用最广泛的 Web 编程语言之一,有超过 450 万 PHP 开发人员,超过 2200 万的 Internet 域在使用 PHP。PHP 是一种功能强大的服务器端脚本语言,您可以使用 PHP 创建动态 Web 站点和应用程序。

PHP 的架构模式

要在服务器上实现 PHP,有两种常见的架构模式:LAMP 和 WIMP。LAMP (Linux®-Apache-MySQL-PHP) 使用基于 Linux 的操作系统。LAMP 将 Apache HTTP 服务器与 Zend Core PHP 引擎结合使用,并使用 MySQL 连接至 PHP 应用程序。WIMP (Windows®-IIS-MySQL-PHP) 使用基于 Windows 的操作系统,该操作系统配有 Microsoft Internet Information Services (IIS) 而非 Apache。

IBM 和 Zend 软件工程师近期开发了将 PHP 迁移到 IBM System i 平台的第三个架构模式。此架构将 i5/OS 与 Apache HTTP 服务器和 IBM DB2 数据库结合使用以连接至 PHP 应用程序。

使用 PHP on System i 的好处

使用 PHP on the System i 平台的众多好处包括:

  • System i 平台集成了支持强壮的商业计算所需的各种组件,例如操作系统、数据库、安全性和网络。这些组件与 Zend PHP 框架结合提供开发能够支持大型用户库的基于 Web 的应用程序所需的必需资源。

  • PHP 是一种强壮的、可伸缩、稳定的、安全且受性能驱动的语言,它用于开发企业中最重要的 Web 应用程序。中小企业可以从这种运行在 System i 计算机上的具有适应性的语言中获益。

  • 该语言支持面向服务的体系结构(SOA),这种体系结构提供对 Web 服务的支持。

  • PHP 可以与传统系统、数据库和其他应用程序良好地集成。

  • PHP 有数以千计的可自定义的开源应用程序,您可以使用这些应用程序快速启动并运行业务应用程序。

  • 即使数据库连通性可能是 PHP 最常见的用途,但您也可以配置 PHP 作为独立的通用网关接口(Common Gateway Interface,CGI)脚本运行。CGI 版本可运行在所有服务器及大多数操作系统上。使用 CGI 的惟一缺点是会降低性能。

  • 可以将 PHP 脚本与各种外部库集成在一起以允许各种操作,从而充分利用 System i 平台。

与传统语言兼容

多年来,System i 平台都用 RPG、COBOL 和其他传统语言来运行。由于 PHP 与这些传统语言兼容,因此 System i 可以直接调用具有高度可调性的 RPG 和 COBOL 子程序。使用直接与这些语言相互作用的 API 而不使用其他方法(例如 SOA),允许更轻松地开发 Web 应用程序。不过,应用程序的性能则取决于它所采用的语言。中小企业的应用程序可能更适于采用 PHP 实现,而更大型更具有可伸缩性的应用程序可能更适于采用 SOA Web 服务实现。IBM 使用与编程语言兼容的 PHP 可以帮客户节省重新开发的成本和替换已有软件所需的时间。





回页首


PHP Web 应用程序

使用 PHP on the System i 平台,客户能够利用数以千计可用的开源 Web 应用程序。PHP 应用程序已经在家庭和商业客户之间流行开来。这些应用程序中有许多都能使非技术人员快速地开发和自定义应用程序,而无需特殊的编程语言技巧,它们被称为内容管理系统(CMS)应用程序,此类应用程序使用户可以轻松地创建和管理 Web 站点而不必掌握 HTML 的知识。要了解下载某些 PHP 应用程序的位置,请参阅 参考资料

PHP 应用程序可以分为两类:平面文件类型和数据库类型。可以轻松地在 System i 上安装和配置这两种类型。可以将 PHP 平面文件应用程序安装到配有 PHP 引擎的 System i 平台上。数据库驱动的应用程序通常与 MySQL 开源数据库一起使用。可以将 MySQL 下载并安装到 System i 上。有关 Zend Core Web 站点论坛中的记录和示例,请参阅 参考资料。在 System i 平台上安装了 MySQL 数据库之后,就可以安装并运行数据库驱动的应用程序。

可用的最流行的开源应用程序包括 wiki、公告板和购物车。这些应用程序不仅是可用的开源应用程序,而且还是展示 PHP 有能力完成各种类型应用的示例。

wiki

wiki 是一类 Web 站点,此类站点允许用户轻松快捷地添加、删除或编辑站点中的内容。通常,用户可以在不注册或不访问位于托管 Web 服务器上的文件的情况下即可编辑内容。PmWiki Web 站点(请参阅 参考资料)是使用 PHP 开发的一个开源维基。PmWiki 使用一个平面文件系统而不是数据库来维护站点的内容。在 System i 上安装了 Zend Core 框架后,将 PmWiki 文件放入 Apache HTTP Web 服务器的公共 Web 文件夹中。在那以后,使用 PmWiki 界面来自定义 wiki。编辑页面的语法是简单地组合各种标点符号来创建所需的文本效果。除了基本的编辑功能之外,还可以包含库来处理高级功能,例如消息博客、安全性和多媒体。

公告板

论坛和公告板允许将人们的问题共享给全世界,并且还提供了人们获得答案的可能。phpBB (PHP Bulletin Board) Web 站点(请参阅 参考资料)可以帮助您轻松地开发公告板应用程序。phpBB 允许创建论坛、按照分类来组织论坛、提交主题、提交响应和发送群组及个人电子邮件。phpBB 实现了一个数据库来保存站点内容并跟踪用户的使用情况。

购物车

开源购物车应用程序使企业可以创建和自定义自己的电子商务购物站点。买家可以轻松地在线创建账户并购买产品。Zen Cart Web 站点(请参阅 参考资料)就是一个例子,在这里可以了解此类应用程序。Zen Cart 提供了大量可自定义的模板供开发商业应用程序之用。使用基于 Web 的 GUI 可以轻松地访问其他修改和管理功能。由于购物车需要为客户提供安全性,因此 Zen Cart 同时使用了 SSL 和数字证书。服务器计算机将专门为 Zen Cart 商店创建一个本地证书。Zen Cart 商店的客户将在登录到商店时收到并保存该证书。浏览器和服务器都使用该证书加密和解密传输的文本,这就使用户可以安全地使用 Zen Cart。Zen Cart 直接与数据库相互作用来存储数据。





回页首


PHP on System i:安装和数据库注意事项

System i 用户在选用开源应用程序时有几个需要注意的问题。第一个可能也是最直接的问题是如何在已有的各种应用程序中做出选择。Zend Core 是 System i 平台上目前惟一可用于 i5/OS 的 PHP 引擎。在安装 Zend Core 之前,需要先安装 System i 软件包附带的 13 个许可程序(参见表 1)。为 i5/OS 引入 Zend Core 框架极大地简化了在 System i 计算机上的 PHP 安装。Zend 的设置工具为 System i 平台提供了 PHP 引擎、Apache HTTP Web 服务器、DB2 本机支持和 Web GUI 管理。

Zend Core 产品是一个免费的许可产品。安装过程包括在 System i 上创建一个 SAVF 文件和将 Zend Core 复制到二进制文件中。在可从 Zend Core 公司 Web 站点获得的下载中附带了详细的指导信息(请参阅 参考资料)。

通过安装 Zend Core,相关的 PHP Apache Web 服务器也会得到配置。可以通过 Web 浏览器使用 GUI 管理页面轻松地执行对框架的其他自定义操作。Zend PHP 引擎目前仅受 i5/OS Version 5 Release 4 的支持。

在 i5/OS 上安装 Zend PHP 引擎的先决条件包括:

  • i5/OS Version 5 Release 4 Modification 0 或更高版本
  • 最新版本的 PTF
  • /usr/local 目录,因为将通过添加文件夹的方式将产品安装到此目录下
  • 以下 Zend 许可程序(通过使用命令 go licpgm,选择选项 10 的方法来检查):

表 1. 在 i5/OS 上安装 Zend Core 的先决条件
描述产品选项许可程序
IBM Portable Utilities for i5/OS*base5733sc1
OpenSSH, OpenSST, Zlib15733sc1
System Openness Includes135722ss1
Qshell305722ss1
Portable App Solutions Environment335722ss1
Digital Certificate Manager345722ss1
CCA Cryptographic Service Provider355722ss1

PHP 的语法

PHP 的语法非常易于使用,它与 C 和 Perl 的语法十分相似。PHP 中处理数学运算符和逻辑运算符的方法与 C 语言相同。您可以像用 Java™ 语言一样用 PHP 来编写新函数。最新版本的 PHP 都是面向对象的,这与 Java 语言类似。不同之处在于:

  • 所有 PHP 代码的开头和结尾都需要使用标记,跟 Javascript 一样。这使得 PHP 可以直接嵌入到 Web 站点和应用程序的 HTML 代码中。
  • PHP 中的变量都以美元符号($)开头。
  • 变量都是松散分类的,一个曾用作整型的变量稍后还可用作字符变量。根据您的角度不同,这可能会扩展变量的多功能性,也可能会使跟踪单个变量变得更困难。

清单 1. 在 PHP 中将同一个变量用于各种类型的示例
				
<?php

$var = 5;

echo '$var';
//$var will print as '5'

$var = 'string';

echo '$var'
//Now, $var will print as 'string' !

?>

PHP 的最佳入门方法是访问 PHP 资源站点(请参阅 参考资料)。此站点提供了 PHP 的所有语法和函数,以及详细的示例。开源社区在不断地更新该站点,提供新示例和指导信息。

连接至 DB2 数据库

使用 PHP 时,如果要连接至 DB2 数据库,可以使用两种驱动程序来创建连接。两种驱动程序中第一种也是使用较久的是 ODBC 连接驱动程序。使用以下代码样例通过 ODBC 连接至 DB2 数据库:


清单 2. ODBC 连接
				
<?php
	
$db_host	= "server.mynetwork";
$db_user	= "dbuser";
$db_pass	= "dbpass";
	
odbc_connect($db_host, $db_user, $db_pass, "SQL_CUR_USE_ODBC");
	
@odbc_setoption($this->db_connectid, 1, SQL_ATTR_COMMIT, SQL_TXN_NO_COMMIT)
  or die('Failed setoption: ' . odbc_error() . ":" . odbc_errormsg());
			
@odbc_setoption($this->db_connectid, 1, SQL_ATTR_DBC_DEFAULT_LIB, $this->dbname)
  or die('Failed select: ' . odbc_error() . ":" . odbc_errormsg());

?>

第二种连接至 DB2 数据库的方法是使用 IBM_DB2 连接,如下面的代码样例所示。这种新方法可以帮助解决使用 ODBC 时会遇到的一些连接问题,但是这两种方法都可用于在 PHP 中连接至 DB2。


清单 3. IBM_DB2 连接
				
<?php

$database	= 'SAMPLE';
$user		= 'db2inst1';
$password	= 'ibmdb2';

db2_connect($database, $user, $password);

?>

DB2 使用的模式

用于 i5/OS 的 DB2 的默认配置是作为一个系统范围的数据库。模式是 System i 平台上相关数据库对象的逻辑容器。在 DB2 中创建的模式类似于 MySQL 中的数据库。换言之,模式就像 MySQL 中可以在其中创建和填充表的数据库一样。可以用 CREATE SCHEMA 语句创建 DB2 模式。

引用 DB2 数据库中的数据

引用 DB2 数据库中的数据时,需要特别注意的事项包括引用 表名列名表数据

引用 DB2 中的表名

SQL 语句内的 DB2 表引用可以是非限定的,也可以是用模式名称显式限定的。


清单 4. 引用表名的示例
				
INSERT INTO table VALUES(val1, val2, … valn);
//MySQL Insert Statement

INSERT INTO table VALUES(val1, val2, … valn);
INSERT INTO schema.table VALUES(val1, val2, … valn);
//DB2 Insert Statements

指向用于 i5/OS 的 DB2 的 PHP 连接默认使用 SQL 命名约定。使用 SQL 命名约定,搜索非限定对象的惟一一个模式就是当前(或默认)模式。当前模式值通常默认为与当前 SQL 授权名称(或用户配置文件名)相匹配的模式。如果授权名称是 JOHNDOE 并且引用非限定对象,则 DB2 for i5/OS 需要在名为 JOHNDOE 的模式中查找该对象。可以使用 i5_lib 连接选项来指定用于连接上的非限定引用的默认模式。

引用 DB2 中的列名

在 DB2 中,表的字段名全都是大写的,即使这些字段名在定义时是小写的。因此,在 PHP 脚本中引用这些字段时,请将字段名大写。

引用和访问 DB2 的表中的数据

从 DB2 表中检索数据时,需要考虑数据是来自字段(列标题),还是来自实际值(列和行中的所有数据)。字段名通常可作为字符串来检索。但是,返回的列值都是用不可见的额外字符表示的,例如下面的字符:


表 2. 不可见的其他字符
字符名称字符ASCII 码
普通空格" "ASCII 32 (0x20)
制表"\t"ASCII 9 (0x09)
另起一行(换行)"\n"ASCII 10 (0x0A)
回车"\r"ASCII 13 (0x0D)
空字节"\0"ASCII 0 (0x00)
垂直制表"\x0B"ASCII 11 (0x0B)

因此,如果需要在代码中通过值引用此数据,建议使用函数(例如 trim()),可以删除额外的字符。

将 PHP 应用程序从 MySQL 迁移到 DB2

即使 SQL 是一种通用语言,语言的使用也会随着数据库类型的不同而有所不同。大多数 PHP 应用程序都连接至 MySQL 数据库。MySQL 是一个可免费下载的开源数据库并且可以与许多数据库驱动的 PHP 应用程序结合使用。可以将 MySQL 下载并安装到 System i 上。

某些 System i 客户可能需要使用 DB2 数据库而不是开源 MySQL。此部分描述了将 PHP 应用程序从 MySQL 迁移到 DB2 的注意事项。当您在将 SQL 语句从 MySQL 迁移到 DB2 时,您会发现语法和函数的不同之处。表 3 列出了一些不同之处;并在表 3 后面说明了这些不同之处。


表 3. MySQL 和 DB2 语句的不同之处
需要的操作MySQL 语句DB2 语句
从表中返回选定数目的行SQL -> LIMIT SQL -> FETCH FIRST n ROWS
确定在 insert 语句后表中最后生成的 IDPHP-> mysql_insert_id SQL -> SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1;
显示表SQL -> SHOW TABLES FROM table_name SQL -> SELECT TABLE_NAME FROM schema_name.SYSTABLES WHERE TABLE_NAME=table_name
显示索引SQL -> SHOW INDEX FROM table_name SQL -> SELECT INDEX_NAME FROM schema_name.SYSINDEXES WHERE TABLE_NAME=table_name
确定一条 SQL 语句影响的行数PHP -> SELECT 语句的 mysql_num_rows()
, mysql_affected_rows() for INSERT, UPDATE, DELETE
PHP -> db2_num_rows()(在使用不可滚动游标时,对 SELECT 语句无效)
将一个键插入主键已存在的表中SQL-> IGNORE 忽略插入语句
设定一列自动生成并递增其值 auto_increment GENERATED BY DEFAULT AS IDENTITY
转义字符在字符前添加一个斜杠('\'),例如 “Smith\'s”在字符前添加一个撇号('),例如 “Smith''s”
返回一个数组,按照列名和位置索引,用于表示结果集中的行 mysql_fetch_array() db2_fetch_both()

连接至数据库

当 Web 应用程序连接至 MySQL 数据库时,通常在 PHP 中使用 mysql_connect 函数。要连接至 DB2,有两个不同的选项:odbc_connect 和 db2_connect(请参阅 连接至 DB2 数据库)。ODBC 驱动程序没有 IBM_DB2 驱动程序新,但由于 ODBC 不必特定用于 DB2 数据库,因此开源应用程序更常使用 ODBC。

DB2 和 MySQL 之间的 SQL 不同之处

DB2 和 MySQL 的 SQL 之间是有差别的。这些差别包括 数据类型数据定义语言显示表

DB2 和 MySQL 之间数据类型的不同之处

数据库驱动的 Web 应用程序通常会自动生成最初使用的脚本和表。这些脚本虽然都是用 SQL 编写的,但也会因数据库的不同而有一些特定的语法差别。例如,在将应用程序从 MySQL 迁移到 DB2 时,请确保将一些 MySQL 数据类型名称更改为等效的 DB2 名称。表 4 展示了此类翻译的一些示例。


表 4. MySQL 和 DB2 之间数据类型的不同之处
MySQLDB2
TINYINTSMALLINT
MEDIUMINTINTEGER
INTINTEGER
TINYTEXTCLOB(255)

数据定义语言的不同之处

在将所有数据类型名称更改为使用 DB2 语法的名称之后,应用程序迁移过程的下一步是将数据定义语言(DDL)语法更改为 DB2 语法。更改的语法包括:

  • 授予和收回用户权限
  • 创建和删除表、视图和索引
  • 定义引用完整性规则

下面的代码样例显示了不同之处。


清单 5. 创建表的 MySQL 示例
				
create table myTable (
    age int(11) unsigned NOT NULL out_increment,
    first_name varchar(10) unsigned default NULL,
    last_name varchar(20) unsigned default NULL,
    PRIMARY KEY (age)) type-MyIASM; 	


清单 6. 创建表的 DB2 示例
				
Create table myTable (
    age INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR(10) default NULL
    last_name VARCHAR(20) default NULL
    PRIMARY KEY (age));	

显示表

DB2 和 MySQL 之间的另一个不同之处在于 SHOW TABLES 和 SHOW INDEX FROM table_name 的使用,这种使用受 MySQL 的支持,但不受 DB2 的支持。在 DB2 中是用 SELECT 语句替换这些语句的,如表 5 所示。


表 5. 显示使用 MySQL 和 DB2 的数据库、表和索引
MySQLDB2
显示数据库SELECT TABLE_SCHEM FROM SYSIBM.SQLSCHEMAS
显示表SELECT TABLE_NAME FROM SYSTABLES WHERE TABLE_SCHEMA = schema_name
通过 table_name 显示索引SELECT INDEX_NAME FROM SYSINDEXES WHERE TABLE_NAME = table_name AND INDEX_SCHEMA = schema_name

转义字符

DB2 和 MySQL 之间的另一个不同之处在于如何转义字符。在 MySQL 中,通过在字符前添加斜杠(“\”)进行转义。在 DB2 中,通过字符前放一个撇号来转义字符。例如,如果需要将文字 “ Smith's ” 放入 SQL 语句中,则需键入 “ Smith\'s ”。如果需要在 DB2 中获得同样的结果,则需键入 “ Smith''s ”。

有用的工具

手动转换这些脚本会是一个十分冗长的过程。不过,有一些转换工具可以帮助转换要迁移的 SQL 语法和数据库。例如,IBM DB2 迁移工具包 (MTK),一种免费软件(请参阅 参考资料)。DB2 MTK 目前支持 MySQL 数据库到 DB2 SQL 语法的转换,但不支持用于 i5/OS 的 DB2。即将发布的新版 DB2 MTK 支持 MySQL 到用于 i5/OS 的 DB2 的 SQL 语法转换。有关指向 IBM DB2 迁移工具包 Web 页面以获得最新版本信息的链接,请参阅 参考资料。DB2 迁移工具包最适于转换长的 SQL 脚本。此工具不适于直接转换 PHP 代码中嵌入的 SQL 语句。不过,您可以将各条 SQL 语句复制到 DB2 MTK Translator 实用程序中轻松地转换复杂的 MySQL SQL 语句。

使用 DB2 和使用 MySQL 时 PHP 方面的不同之处

在从 MySQL 数据库转换到 DB2 数据库的过程中,API 中的差别就会浮现出来。连接至 MySQL 的语法不能直接翻译为连接至 DB2 的语法。连接 MySQL 时使用的现有函数在 DB2 中可能不存在并因而无法用于连接;而连接 DB2 时使用的现有函数在 MySQL 中可能不存在并因而无法用于连接。具有类似名称的函数常常会返回完全不相关的值。可能同名并返回相同值的函数甚至可以有十分不同的参数顺序。在 DB2 和 MySQL 中按照不同顺序执行的函数示例包括:

  • mysql_index_id() 函数将返回最后一条 INSERT 语句生成的 ID。在 DB2 中,使用自动递增同一列并且使用 IDENTITY_VAL_LOCAL 函数可以获得相同的结果。
  • db2_num_rows() 函数将返回一条 SQL 语句影响的行数。在 DB2 中,此函数可用于 INSERT、DELETE 和 UPDATE 语句。而此函数的 MySQL 版本 mysql_num_rows() 则只能用于 SELECT 语句。
  • db2_fetch_array() 函数将返回一个数组,它按照列位置索引,表示结果集中的一行。此函数的 MySQL 等效函数 mysql_fetch_array() 将返回一个按照列位置以及列名的数字索引的数组。




回页首


结束语:惠及中小企业

PHP on System i 非常适于中小企业使用。在了解了 PHP 的基本背景和架构类型后,您可以下载和安装数以千计支持 System i(既可通过程序本身也可通过支持的数据库)的可用应用程序。将应用程序从 MySQL 数据库迁移到 DB2 时有一些注意事项,例如数据库连通性等。不过,PHP 提供的最前沿、低成本的应用程序与稳定的 System i 平台及 DB2 数据库结合使用,将成为所有正在成长的企业的战略决择。



参考资料

学习

获得产品和技术

讨论


作者简介

Photo of Margaret Myslinska

Margaret Myslinska 于 2006 年夏季在 IBM 做软件工程师实习生。她目前即将完成伊利诺斯州 Urbana Champaign 芝加哥大学的学位。


Photo of Andrew Nere

Andrew Nere 于 2006 年夏季在 IBM 做软件工程师实习生。他目前即将完成明尼苏达州圣克劳德大学的学位。


Photo of David Swenson

David Swenson 于 2006 年夏季在 IBM 做软件工程师实习生。他目前即将完成明尼苏达州曼凯托市明尼苏达州立大学的学位。


Photo of Gloria Velazquez

Gloria Velazquez 于 2006 年夏季在 IBM 做软件工程师实习生。她目前即将完成位于得克萨斯州的得州大學艾尔帕索分校的学位。


Photo of Kathryn Lamont

Kathryn Lamont is a software engineer with IBM Software Group. She works on the installation team for the middleware product IBM WebSphere Process Server for Multiplatforms. Previously, Kathryn worked on IBM WebSphere Business Integration Server Express for iSeries. She was a technical mentor for the PHP on System i 2006 summer intern project. She joined the IBM Rochester team in 2004. Kathryn graduated from Iowa State University with a computer engineering degree. You can reach Kathryn at kathrynl@us.ibm.com.


Photo of David Peraza

David Peraza 是 IBM Systems and Technology Group 的软件工程师。他从事 WebSphere MQ 与 System i 平台集成方面的工作。他是 PHP on System i 2006 夏季实习生项目的技术指导。可以通过 dperaza@us.ibm.com 联系 David。




对本文的评价










回页首


IBM、DB2、i5/OS、iSeries 和 System i 是 IBM Corporation 在美国和/或其他国家或地区的商标。 Linux 是 Linus Torvalds 在美国和/或其他国家或地区的注册商标。 Microsoft、Windows、Windows NT 和 Windows 徽标是 Microsoft Corporation 在美国和/或其他国家或地区的商标。 Java 和所有基于 Java 的商标是 Sun Microsystems, Inc. 在美国和/或其他国家或地区的商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款