热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[转]用WDSc结合ClearCase进行RPG协同开发

用WDSc结合ClearCase进行RPG协同开发
用WDSc结合ClearCase进行RPG协同开发
 

2009-07-24 作者:李剑波 来源:IT168

 

今天,尽管开放平台的Java以及.net技术不断蓬勃发展,但由于银行系统应用的特点,其大多数核心系统都运行在IBM的各类主机系统上。特别是国内各中小银行,以IBM AS 400为代表的iSeries系统,由于其良好的性能价格比,安全优良的运行性能,已经成为当前的首选。

本文以某银行采用RPG进行的面向AS 400的软件开发为背景,描绘了采用IBM Rational的iSeries开发工具WDSc(WebSphere Development Studio for iSeries)进行传统的RPG应用开发,在开发过程中使用IBM Rational ClearCase/ClearQuest进行开发中的版本控制,实现其特定的并行开发策略,从而提高了软件开发的效率和质量。由于本文不是 ClearCase的专业介绍文章,相关ClearCase内容在文中没有详述。

1. WDSc简介

WDSc(WebSphere Development Studio for iSeries)是IBM开发的面向iSeries系统进行可视化开发的高效能工具。它建立在Eclipse 3.0基础之上,可以支持RPG/Cobol/C/C++等多种语言在iSeries平台上的开发;由于其采用了可视化的工作方式,极大的降低了传统平台 和语言的学习成本,用户可以在不了解iSeries平台的前提下,通过WDSc完成所有iSeries开发相关的工作;WDSc采用的Eclipse插件 技术,可以将其自身作为插件插装到用户原有的Eclipse平台上进行工作,也可以将用户的Eclipse插件插装到WDSc上进行工作,达到开放平台的 软件开发和iSeries开发统一的目的,从而打破了iSeries开发和一般软件开发的间隔。本文描述的内容中,选择使用WDSc进行传统RPG的应用 开发作为例子。

2. IBM Rational ClearCase/ClearQuest简介

IBM Rational ClearCase/ClearQuest是业界最为成熟的配置和变更管理产品。其中,在ClearCase中存储软件开发中的各种版本历史,并对其进行 审计报表,并可以根据用户的需要配置并行策略,进行有效的并行开发;在ClearQuest中,定义开发中进行变更的流程,并可以对变更过程进行审计。通 过ClearCase和ClearQuest的集成,IBM Rational将软件开发中的变更过程和变更结果统一起来,将软件开发行为受控起来,进行过程审计,从而控制了整个软件开发过程,最终达到了统一整个企 业的软件开发流程的目的,实现了企业级标准化软件开发。

3. 采用ClearCase实现并行开发策略

根 据本银行的实际情况,定制的配置管理策略如上图。根据用户的需要将系统整体定义为两种项目—软件开发项目和软件发布项目,系统的开发过程主要存在于软件开 发项目中;而为了保障运维工作的正常进行,将系统部署上线的内容建立为一个单独的软件发布项目,实现运维过程的配置管理;只有当开发项目中的产品达到一定 的成熟度后,才能转入软件发布项目中,进行部署和运维工作。整个策略,通过两级管理的方式,将开发和运维结合起来,保证了上线系统的质量水平。

在软件开发项目中,整体项目的集成工作由集成流(Int)来完成;日常的开发工作集中在开发流(Dev)中完成,本项目中采用了共享开发流的方式,所有的 开发人员的日常开发工作都在统一的流上完成,可以及时共享;对于项目的测试工作,由测试流(Tst)来完成,同时由于测试工作的特点,不能对应用进行修 改,设定为一个只读流;当系统出现关键性的突然问题时,不可以直接在集成流上修改,而仍然需要首先在紧急修复流(HotFix),进行修改和测试。而在整 个并行开发的流策略的设定中,不同的流之间通过递交(Deliver)和变基(Rebase)两种操作来完成数据的集成和交互;同时,这种分层次的模式, 实现了从开发到集成到测试的不断的质量提升,从而也提升了用户的产品质量。

4. 采用WDSc结合ClearCase/ClearQuest进行并行开发

由 于用户的主要开发内容为IBM iSeries(AS 400)上的RPG应用,采用WDSc(WebSphere Studio Development client for iSeries)进行面向iSeries的可视化快速开发已成为同类开发的主流模式,而通过ClearCase和WDSc的有效结合可以快速满足用户实际 工作的配置管理和并行开发需求,具体的操作如下。

4.1 建立iSeries连接

在新建整体项目前,需要建立WDSc与iSeries的连接,为下面的项目开发和代码导入建立基础。

4.1.1选择WDSc的透视图切换(WDSc主界面的右上角),选择远程系统资源连接透视图,系统切换到此透视图界面。

4.2 建立对应的iSeries项目

建立好连接以后,就可以根据需要设定对应的iSeries项目,并将服务器的内容导入本地,进行开发。

4.3 采用WDSc进行RPG开发和编译

WDSc对于传统的RPG应用,提供了可视化的方式帮助程序员快速进行RPG格式化,辅助开发。

4.4 登陆iSeries目标机,察看编译结果

完成编译,可以通过一个ARCAD的终端接入iSeries目标机中,进行结果察看。(ARCAD终端是一个iSeries终端的Eclipse插件,可以按照Eclipse安装插件的方式直接安装到WDSc中,具体下载,可以见文尾)

4.5 通过ClearCase完成并行开发策略

通过WDSc结合ClearCase插件(安装WDSc中需要选中)实现并行开发策略十分简单,完全可以在界面中通过鼠标快速完成。

4.5.1 在ClearCase中定制流策略

建立好相应的component vob和pvob,在ClearCase Project Explorer中定制相应流策略和组件内容,操作完成后会自动设置相关的ClearCase View,便于用户进行操作(以上相关ClearCase内容,请参考本文参考文章)。

5. 总结

WDSc作为优秀的iSeries平台开发工具,为提高iSeries开发的效率和质量提供了有效的保障,并极大地降低了RPG和iSeries开发的学 习成本。在本文描述的场景中,将ClearCase的并行开发能力与WDSc的RPG快速开发结合起来,解决了iSeries上软件开发没有完善的配置管 理的尴尬,同时将开放平台的配置管理策略和变更管理策略也延伸到iSeries开发中,从而为中小型银行客户建立一个统一的配置管理和变更管理平台,实现 企业级的软件开发管理探索了一条新路。

参考资料

学习:

1. http://www-306.ibm.com/software/awdtools/wds400/ 提供了关于所有WDSc的使用介绍资料

2. http://blog.chinaunix.net/u1/39103/showart_328779.html 提供了一篇介绍在AS 400 上进行RPG开发的实例文章

3. http://feigme.javaeye.com/blog/97188 提供了一篇AS 400使用的入门文章

获得的产品及技术:

1. 下载WDSC V7可以由所有iSeries的使用用户从递交的产品中获得

2. ARCAD 5250终端for Eclipse插件:http://www.arcadsoftware.com/content/view/209/316/


推荐阅读
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
author-avatar
你还OK吗-_155
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有