现代化企业应用程序的工具以及开发它们的方式

本资料无预览

如感兴趣请购买后下载

立即下载

资料简介:

简介: 最新公布的 IBM® Rational® Developer for System z® Unit Test 可以大幅增强您开发、维护和测试大型机应用程序的方式。本文将介绍如何在典型场景中使用该解决方案以及其他 Rational Enterprise Modernization 产品,将一个现有大型机 “绿屏” 应用程序转换成一个使用现代技术的智能手机界面。 本文来自于 IBM WebSphere Developer Technical Journal 中文版


曾几何时绿屏变得很酷?



我们都知道技术变化有多快。例如,还记得寻呼机吗?在不到 10 年之前,当较小的移动手机首次进入市场时,那时我的一位朋友因买到一部新 “翻转” 手机而欣喜不已。虽然这部手机在那时很先进,但是如果他在今天仍然使用这种设备的话,可能会感到尴尬。

不难推断,现在采用的任何新技术可能会在 10 或 20 年或者更早时间内变得过时或至少被认为 “很古老”。这可能是人们对现代化现有应用程序有着持续的强烈渴求的一个原因。而且,没有人希望再使用难看的 “绿屏”。

因此对开发人员提出的问题变为:如何高效地现代化应用程序而不会过早地被淘汰?

您可能决定使用一个新技术重新设计和重新编写一个现有应用程序,但是当然无法保证该技术会流行多久。加之重新编写一个应用程序需要大笔的费用,这进一步给这一混乱局面带来了不确定性。综合这些原因,您可能希望考虑重用性能不错的现有代码,而非重新编写或替换它。另外也需要尽可能敏捷地实施转型,而不失去治理或开发控制。

本文通过一个很简单的大型机现代化示例展示分析师、架构师和开发人员如何使用选定的 IBM Rational 产品和面向服务架构 (SOA) 快速、有效和可靠地转换遗留应用程序。本文还将展示如何使用一种结构化的现代方法重用现有代码并实现快速转换。

转换场景



我们这里要使用的样例场景非常简单且普遍:您必须重用现有的 COBOL/CICS® 应用程序并将其老式的 3270 终端界面转换为 iPhone 界面,不过在此期间您不能编写新的应用程序代码(除了表示层),且现有大型机应用程序必须始终可以运行。对了,还有一个非常重要且强制性的要求:转换后的应用程序的性能必须与现在的性能一样好,或者甚至更好。

有多种工具和技术可帮助您和您的同事实现这一目标。本例中强调的工具和技术包括:
IBM Rational Team Concert IBM Rational Asset Analyzer IBM Rational Developer for System z IBM Rational Developer for System z Unit Test 面向服务架构 (SOA) CICS Web 服务 CICS Explorer® IBM Debug Tool for z/OS® Web 2.0

图 1 显示实现本样例场景时使用的软硬件架构。注意,在本例中有三台便携式计算机:两台(一台 Mac 和一台 Lenovo T60as)是客户端,另一台(Lenovo W510)用作服务器。

下面每一小节会提出项目中一个或多个成员必须解决的一个任务或问题,并介绍可帮助达到预期效果的工具或技术。

图 1. 场景中的软硬件架构

2012-04-19
浏览4192
下载0

已下载用户的评价

您还未下载该资料,不能发表评价;
查看我的 待评价资源
一路向北一路向北2012-04-19
没用
[p=30, 2, left]9. 您需要传达完成的工作并请求批准[/p] 开发人员可以再次使用 Rational Team Concert 更新其分配的工作项,且如有必要,请求团队中的其他人批准进行其他测试和最终的产品晋级。 我们可以继续将很多时间用在这里,但是为了简单起见,我们将随着开发人员对该工作项的终止而结束该场景。图 15 显示他仍然在使用 Rational Developer 解析工作项。 [b]图 15. 解析 Rational Team Concert 工作项[/b] [img=580,158]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image015.jpg[/img] 该场景可以继续,且您可以继续使用 Rational Team Concert 的其他功能构建和部署组件并执行另一级别的测试,或甚至将新代码移到生产中,但是希望您能明白,所提供的工具使整个过程非常简单而实用。 [p=30, 2, left]结束语[/p] 本文举例说明了一个场景,其中使用先进的开发工具现代化一个现有 COBOL/CICS 绿屏应用程序,使用 Web 2.0 技术将其移到 Internet,同时转换应用程序开发基础架构。 如果您关注于如何使用现代工具现代化现有应用程序,那么您应当自己试验这里描述的产品和技术。您可能会对结果感到惊讶。IBM 甚至提供一个 System z Sandbox 网站,在这里您甚至可以试用这里描述的一些产品。 原文地址:[url=http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/1109_col_barosa.html]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/1109_col_barosa.html[/url]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]8. 您需要一种现代语言来创建 Web 2.0 界面[/p] 此时,该场景即将完成。CICS Web 服务已被创建、部署和测试。现在还需要创建和测试智能手机界面。这是该场景中我最喜欢的部分:创建一个重用非常古老且成熟技术的现代 Web 2.0 组件。另外在该场景中,该活动是唯一需要重新编码的部分。[p=30, 2, left]参阅 [url=http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/1109_col_barosa.html#resources][color=#0066cc]参考资料[/color][/url] 更多地了解 Web 2.0 及其新鲜内容、EGL 较 JavaScript™、Ajax 等其他技术的优势,因为这些主题并非本文讨论范围之内。这里开发人员的任务是通过一个现有的生成的 WSDL 创建一个 Web 2.0 界面,该 WSDL 指定部署的 Web 服务。[/p] Rational Developer with EGL 有一个对话框可创建 EGL 界面,可以在调用 CICS Web 服务的 EGL 代码中使用该界面。向导使用提供的 WSDL 创建一段简单的 EGL 代码。该代码将用在一个会调用 CICS 服务的 EGL 调用语句中。您可以在图 11 中看到该 EGL 代码。注意,这是一个对 CICS Web 服务的异步调用。换言之,在浏览器中作为 JavaScript 运行时,用户无需等待数据从 CICS 返回。Web 浏览器可供进行其他操作。这是使用 Web 2.0 的优势之一。Rational Developer 中的 EGL 向导使得 CICS Web 服务的调用非常简单。 [b]图 11. 调用 CICS Web 服务的 EGL 代码[/b] [img=580,427]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image011.jpg[/img] 您还可以使用 EGL Web 2.0 图形编辑器拖放用户界面组件,比如按钮、下拉菜单、Dojo 部件或自定义界面,如图 12 所示。单击 [b]Source[/b] 选项卡之后,您会看到因拖放操作产生的 EGL 代码。 [b]图 12. 使用 EGL 图形编辑器创建 Web 2.0 界面[/b] [img=580,220]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image012.jpg[/img] 这个 EGL 图形编辑器提供三个选项卡:Design、Source 和 Preview(图 12)。Preview 选项卡用于测试 Web 2.0 组件(图 13)并显示 Web 界面,与用户看到的完全一样。 [b]图 13. EGL 编辑器的 Preview 选项卡包含从 CICS Web 服务返回的数据[/b] [img=345,257]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image013.jpg[/img] 此时,任务已完成。您可以使用一个简单的 EGL 代码行检查 CICS Web 服务响应时间。初次运行该样例时,响应时间可达毫秒级。记住,发送给 CICS 的数据是 XML;CICS 解析它,调用 COBOL 程序,该程序从数据库获取数据、再次发送要解析的数据,并再次将其以 XML 格式返回给客户端。 这一惊人的速度使这一技术广受好评。您可以使用一个 iPhone 仿真器来测试应用程序是否可在 Safari 浏览器中运行(图 14)。 [b]图 14. 具有 iPhone 界面的现有 COBOL/CICS 应用程序[/b] [img=376,667]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image014.jpg[/img]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]7. 您需要一个工具来测试和调试要部署的 Web 服务[/p] 一旦部署了 Web 服务,就需要对其进行测试。如果有问题,可能还需要调试在 z/OS 上运行的 COBOL 代码。 可以使用生成的 WSDL 和包含在 Rational Developer for System z 中的 Web Services Explorer 测试 Web 服务。图 9 显示运行中的 Web Services Explorer。开发人员输入消息并接收响应。 [b]图 9. 测试 CICS Web 服务[/b] [img=580,322]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image009.jpg[/img] 如出现意料之外的结果,可以使用集成的 Rational Developer 调试功能调试 z/OS 组件。使用 Rational Developer CICS Explorer 功能,您可以选择要调试的 COBOL 程序,并指定便携式计算机的 TCP/IP 地址以及客户端在监听的端口号。在 Rational Developer 上运行的 z/OS 调试器被激活,且 Debug 透视图可用于代码调试,如图 10 所示。 (Rational Developer Debug 透视图是用于调试其他代码,比如 Java,的同一透视图。) [b]图 10. z/OS 调试实况[/b] [img=580,236]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image010.jpg[/img]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]6. 您需要一个工具来创建和部署 Web 服务[/p][p=30, 2, left]开发人员将包装现有代码并部署一个 CICS Web 服务,无需任何 COBOL 代码修改。这样就不会对现有应用程序产生影响。开发人员将使用 Rational Developer for System z 创建、测试和部署 CICS Web 服务。(参阅 [url=http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/1109_col_barosa.html#resources][color=#0066cc]参考资料[/color][/url] 中有关创建 Web 服务的几篇文章。)图 7 显示 Rational Developer 的 Enterprise Services 透视图,其中主要有一个用于创建 CICS Web 服务的向导。[/p] [b]图 7. 使用 Rational Developer 创建 CICS Web 服务[/b] [img=580,277]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image007.jpg[/img] 重要的是要记住,由于 Rational Developer 在运行 z/OS,因此对大型机没有影响。在 Rational Developer 中成功测试服务之后,需要将代码重新部署到实际大型机上,以供进一步测试和最终生产。 使用 Rational Developer 和必需的 CICS 授权,您可以从生成的组件部署 CICS Web 服务(图 8)。 [b]图 8. 从 Rational Developer 部署 CICS Web 服务[/b] [img=580,236]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image008.jpg[/img] 当生成 SOAP Web 服务时,也会创建一个 WSDL。正如您所见,这些工具的使用使我们易于理解如何实现敏捷的 z/OS 开发。
一路向北一路向北2012-04-19
没用
[p=30, 2, left]5. 您需要对所需的 COBOL 代码执行深度分析[/p] 使用 Rational Asset Analyzer,开发人员可以执行影响分析,以防他需要进行 COBOL 代码更改(在该场景中没有进行更改)、识别失效代码,等等。图 6 显示用户正在分析 BKPXXS1 程序并使用 Rational Developer for System z 理解其逻辑。 [b]图 6. 开发人员使用与 Rational Developer 集成的 Rational Asset Analyzer[/b] [img=580,384]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image006.jpg[/img]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]4. 您需要一个简单且高效的方式来了解如何转换代码[/p] 开发人员收到电子邮件通知,通知指出有开发活动要执行,且要访问 Rational Team Concert 来开始工作。他使用他的开发工具 Rational Developer for System z 访问 Rational Team Concert,进而访问分配给他的工作项。 图 5 显示 Rational Developer Work Items 透视图,其中显示工作任务和所有必要的文档,以便让开发人员开始分析要作为 Web 服务部署的 COBOL 程序。 当他开始处理分配的任务时,他可以更新工作项,添加计划完成日期、需要的时间,等等。在他更新工作项时,订阅该任务的任何人都可以收到工作进展的电子邮件更新。 [b]图 5. 通过 Rational Developer 界面访问 Rational Team Concert 以更新工作项[/b] [img=580,353]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image005.jpg[/img]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]3. 您需要一个工具来确定可以将哪些现有的 z/OS 组件部署为 Web 服务[/p] 目前分析师的任务是调查 CICS 事务 BKXX,这需要转换。 您可以使用 TSO/ISPF 搜索在这个 CICS 事务中使用的 z/OS 组件,以确定可以将哪些组件作为 Web 服务部署到 CICS,但是与其这样,为何不使用一个自动化工具呢?另外,一个可能的转换对现有已部署资产的影响会是什么? Rational Asset Analyzer 提供这些功能。在该场景中,Rational Asset Analyzer 安装在 z/OS 系统上(图 1)且可由任何需要了解现有应用程序及其组件的人通过 Web 浏览器加以访问。这里,分析师使用一个浏览器来完成该任务,而且稍后开发人员也会使用安装在 Rational Developer 中的 Eclipse 插件来访问 Rational Asset Analyzer 数据库。 架构师使用浏览器分析 BKXX 事务,且确定该事务由其他事务和程序组成,特别地一个名为 BKPXXS1 的 COBOL CICS 程序是要作为 Web 服务部署到 CICS 的一个完美候选。 图 4 显示这些 Rational Asset Analyzer 结果。 [b]图 4. 代码转换分析期间的 Rational Asset Analyzer 浏览器结果[/b] [img=580,319]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image004.jpg[/img] 有了该信息之后,开发人员将在进行进一步分析之后完成转换活动。分析师使用 Rational Team Concert 更新工作项并分配工作给开发人员,传递屏幕捕捉和要作为 Web 服务部署的 COBOL 程序 (BKPXXS1) 的相关细节。 工作项现在有了新所有者(开发人员)且分析师的任务已完成,不过稍后他可以审查和审批开发人员在 Rational Team Concert 中所做的工作。
一路向北一路向北2012-04-19
没用
[p=30, 2, left]2. 您需要一种结构化方式来创建需求并控制转换变更[/p] 与其通过发送电子邮件和使用分离的工具来创建需求,还不如使用 Rational Team Concert 并扩展运行于 Rational Developer for System z Unit Test 之上的 z/OS 系统。 使用 Rational Team Concert,一名架构师或分析师可以创建需求并将其传给开发人员。该需求称为 [b]工作项[/b]。注意,即使您的组件部署在 z/OS 系统中的 CICS 下,其中的源代码存储在安装在 Linux®(z/OS 系统和 Rational Developer 运行所在的同一个 Linux)上的 Rational Team Concert 存储库中,如图 1 所示。(Rational Team Concert 可以在不同的平台以及 z/OS 下运行,但在本例中它运行于本机 Linux 之下。) 可以通过 Web 浏览器或 Eclipse 界面访问 Rational Team Concert。这里使用浏览器创建工作项,如图 3 所示。 [b]图 3. 架构师使用 Rational Team Concert 创建工作项[/b] [img=580,319]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image003.jpg[/img]
一路向北一路向北2012-04-19
没用
[p=30, 2, left]1. 您需要一个使用 z/OS 系统的敏捷开发环境[/p] 为节省大型机的 MIPS 且获得一个敏捷的 z/OS 开发环境,您可以在服务器上运行 Rational Developer for System z Unit Test。在本例中,CICS V4.1 在 z/OS 中运行于 Rational Developer for System z Unit Test 之下,其中您可以连接和运行要转换的应用程序。图 2 显示使用运行在 Rational Developer for System z 系统上的这个应用程序进行简单查询所产生的绿屏终端。用户输入 CICS 事务 BKXX,选择 [b]View[/b] 选项,然后输入用户号(在本例中用户号为 000002)。在按下 [b]Enter[/b] 键之后,数据被显示。 [b]图 2. 现有 CICS 应用程序的当前 3270 界面[/b] [img=511,352]http://www.ibm.com/developerworks/cn/websphere/techjournal/1109_col_barosa/images/image002.jpg[/img]

贡献者

X社区推广