IBM Support

整合型中间件:IBM i引领潮流的25年

Technical Blog Post


Abstract

整合型中间件:IBM i引领潮流的25年

Body

这篇文章是Tim Rowe于2013年5月15日发表在Modern-i-zation,原文地址是:http://iprodeveloper.com/blog/integrated-middleware-25-years-building-i…

IBM i于25年前投放市场,构建它的目的是为了业务——客户可以更多的关注于运行业务,而不是IT硬件。IBM i的一个非常核心的原则一直都是整合。在我们庆祝IBM i的25周年之际,IBM i团队一直都在回顾许多构建IBM i所基于的技术和准则。今天,我会针对IBM i平台上中间件的整合来进行深入的分析。

很多公司都打出整合的口号,但是我想声明仅仅是把别人的软件安装在操作系统顶层并不是真正意义的整合。多年来IBM i的平台上一直在增加中间件,你可以把这些增加部分设想为操作系统的一部分,不过实际情况,他们是被“整合”的中间件。

在我们来看整合到IBM i的中间件的具体例子之前,我们先来快速的看一下我对于“整合”的定义。最显而易见的(至少对我而言)观点是软件是操作系统的一部分。所以一旦安装了操作系统,客户不需要做任何其他的操作就可以开始使用中间件。整合的其他特征包括:

  • 以平台的理念来指导软件的开发,这意味着在设计中间件的时候就要考虑到如何利用操作系统本身的优势;
  • 要认真考虑中间件的使用,维护和管理,以助于简化用户和特定软件的交互;
  • 利用操作系统的优势来实现性能调优。

这个列表显然并不是面面俱到,但是这是IBM团队在IBM i平台上整合中间件时思考最多最关键的精华之所在。其中有一些特征会看起来比其他更有关联性,但是上述列出来的所有特点都在接下来的例子中扮演了非常重要的角色。

 

HTTP Server (Powered by Apache)

IBM i 平台上的HTTP Server就是一个很好的整合到操作系统的中间件的例子。我们始于开源网站Apache Foundation website的Apache服务器内核,即Web服务的行业标准。一旦我们下载了源码,整合的魔法就开始生效了。由于IBM i 操作系统本身的特点,Apache服务器需要有一些升级和改变来更全面的和IBM i 协调适应。对于Apache的内核代码也需要有一些改变和增加来更好地利用IBM i 操作系统的核心性能考虑,比如快速响应缓存加速器(Fast Response Cache Accelerator, FRCA)。FRCA是一种非常高速的缓存机制,而且它不是你可以在其他Apache的实现上找得到的。Apache也有其他缓存机制,但是在IBM i上使用FRCA,我们已经能够把Web服务器的缓存仓库移到系统的非常低的级别上。这种深层次的整合意味着通过Apache服务器的缓存性能在IBM i平台上能够快到不可思议。

Apache整合到IBM i的另一个方面是丰富的用户接口,这让用户非常方便地创建、管理和改变他们的Apache服务器配置。设计这种用户接口是为了帮助IBM i 的客户更易于为他们的网站来创建一个安全运作的Web服务器。这让用户更关注于网站的内容和如何应用他们的核心业务,而不是创建和管理一个Web服务器。

 

Directory Server

对于很多现代化的环境来讲LDAP(Lightweight Directory Access Protocol)仓库是一个很重要的构件。在IBM i平台上,我们应用并整合了Tivoli团队开发的Directory服务器。和Apache服务器比较相似,用户并不需要获得其他特殊的配置,一旦加载了IBM i 操作系统,就像一句曾经非常出名的广告所说的那样:“它就在那里!”整合的LDAP服务器,尽管它为IBM i 进行了优化,但却并不是只有IBM i 的解决方案才能够使用它,它是一个行业标准的LDAP服务器,可以被应用于企业级别的安全管理和访问控制。

 

PHP

IBM i 现在有一套完善的PHP生态系统,这也是整合的另一个例子。客户购买一个新系统,会发现PHP引擎已经预先加载好。对于现有的客户,需要去Zend网站下载这个环境(好吧,它还不是操作系统的一部分)。PHP实时运行环境已经为IBM i 进行了升级和优化。Zend团队和IBM i 团队通过紧密的合作来保证PHP环境可以很好的利用到IBM i 的优势。PHP的一个主要的例子是DB2存储引擎。大多数行业PHP应用都使用MySQL作为他们的数据库,但是在IBM i 上使用MySQL就有些得不偿失,因为我们已经有DB2了。我们创建了一个引擎来允许MySQL和DB2直接进行交互,而不需要修改PHP应用使其直接访问DB2数据库。这大大丰富了可以运行在IBM i 平台上的PHP应用的数量,许多行业现有的PHP应用都可以无需改变就运行在IBM i 上。

 

Web Services

IBM i 拥有一套内置的的Web服务环境,你可以很快很方便的创建你自己的Web服务或者用你的native RPG程序调用他人的服务——所有这些都不需要非常了解任何与此相关的Web技术。使用整合的Web UI,短短的几分钟,用户就可以把一个已有的RPG程序创建成一个Web服务环境。这种无缝整合允许用户快速创建Web服务,并且不会被所有的技术细节所束缚。它也能快速方便的允许您的RPG业务逻辑通过一个Web访问站点来访问。

另外,如果你突然需要让你的RPG程序调用一些其他Web服务呢?对于整合的Web服务客户端解决方案来讲,这根本不是一个问题。调用配套在操作系统上的WSDL2WS脚本我们可以创建一个ILE RPG程序来处理所有调用远程Web服务的细节。你的RPG程序和其他所有的Web服务都是绝缘的,你可以只关注于你的业务逻辑。

 

整合的重要性

我可以列举的中间件整合的例子数不胜数,可惜本文只是一篇博客,而不是一部小说。IBM i操作系统从最开始就关注于整合,它甚至超越了系统的所有方面,从所有硬件一直到你的应用所需要的所有软件。整合是我们IBM i团队期望达到的,并且是我们开发团队组成结构的一部分!

 
作者:Qiu Lu Yuan

了解更多关于IBM i 的信息,请关注IBM i 新浪官方微博@IBMiChina

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11144708