文章
应用开发框架
作者:Chris Muir
这是由五部分组成的系列文章“使 Oracle ADF 开发和 Subversion 适应企业需求”的第 2 部分。内容涵盖:
变更控制中的团队角色
变更控制工作流方案以及初始 ADF 构建
多个开发人员参与时的开发
演练本文档中的变更控制方案时,将要确定一些团队角色。本部分初步总结了团队成员,以便清楚阐述系统生命周期中所需的角色。此外,本部分还应与后续方案部分一起阅读,以清楚了解对以下角色及其职责的要求:
SVN 管理员 — 负责 SVN 的设置和持续维护。
应用程序开发主管 — 负责维护 SVN <app>\trunk,标记主干代码并将主干代码分支到单个应用程序的 <app>\branches\test 分支。
一般开发人员 — 负责使用 SVN <app>\trunk 及其自己的单个应用程序的工作副本。
一般测试人员 — 负责在测试环境中对应用程序进行测试。
变更控制主管 — 负责从单个应用程序的 SVN <app>\branches\test 分支或 <app>branches\production 分支创建 EAR 文件。
测试 Oracle WebLogic Server 管理员 — 负责在测试 Oracle WebLogic Server 上安装 EAR 文件和配置部署的应用程序。
生产 Oracle WebLogic Server 管理员 — 负责在生产 Oracle WebLogic Server 上安装 EAR 文件和配置部署的应用程序。
注意,一个员工可以担当多个角色。
以下几部分详细说明了随着新的 Oracle JDeveloper Oracle ADF 开发开始,代码在 SVN 的支持下经过开发、测试和生产环境时的典型工作流方案。
提出新的变更请求 (CR) 以开始工作,例如 CR001。在您喜欢的变更控制系统中,您提出了以下条目来跟踪开发人员的工作:
CR 号 | 应用程序 | 说明 | 状态 | 分配给 |
CR001 | Beanz | 构建新的 Beanz 系统 | 开发 | 开发人员 |
提示:
除了 Oracle JDeveloper 的 SVN 集成之外,还通过在 Oracle TPC 中引入 Team Navigator 增强了团队开发,Team Navigator 提供与多个信息库(如变更控制、问题、错误跟踪)的集成,允许用户在 Oracle JDeveloper 中创建、查询和更新这些信息库中的构件。通过标记和关系的工作项协作和上下文链接等其他服务提高了用户生产效率。有关开发文件的上下文信息可以针对工作项进行保存并由用户恢复。
Oracle TPC 的使用已超出本文范围,但您可以在 Oracle 技术网 (OTN) 上的 Team Productivity Center 页面找到有关 Oracle TPC 的信息。 |
使用 Oracle JDeveloper 11g 的开发主管首先创建一个基本的 Oracle ADF 融合应用程序,这个应用程序包括一个 Model 项目和一个 ViewController 项目。这是在开发人员的本地计算机上完成的。

然后通过选择 Versioning > Version Application 菜单将这个应用程序导入空的 SVN Beanz\trunk 中。这将打开 Import to Subversion 向导:

在针对所选信息库连接的 step 2 of 6 中,选择要将现有应用程序导入其中的 trunk 分支:
Step 3 of 6 默认值为应用程序的根目录,将从此目录导入源代码。应为所有信息库操作输入注释,包括应用程序的这次初始导入。

其他步骤均可忽略,直接接受默认值。SVN Log 窗口显示使用信息库进行的 SVN 操作:
最后,由于默认情况下将发生中间工作副本签出,Application Navigator 将在每个文件旁边显示带版本的文件图标:
Versioning Navigator 中反映了签入 SVN 信息库的文件:
当新的开发人员到岗时,会从 Beanz\trunk 将自己的应用程序工作副本签出到本地 PC。每个开发人员的工作副本都遵循沙坑概念,即开发人员在本地 PC 上构建和修改应用程序。
在 Oracle JDeveloper 的 Versioning Navigator 中,右键单击应用程序下的 trunk 目录,然后选择 Check Out 菜单。这将显示 Check Out from Subversion 对话框,您可以在其中指定本地存放代码的位置:
提示:
关于 Oracle ADF 库以及如何附加这些库还有一点需要注意。本文稍后将对此主题进行介绍。 |
结果是您将在 Application Navigator 中看到带有变更控制图标的应用程序,与开发主管所见到的很相像:

从本质上说,开发代码将通过 Beanz\trunk 目录下的 SVN 信息库与其他开发人员共享。
开发人员遵循这样的做法:提交自己的更改并通过更新其工作副本来获取信息库中其他开发人员的新修复,或者,频繁删除自己的本地工作副本并签出完整的最新版本,以确保其拥有所有文件的最新副本。下图描述了这种签出、变更和提交的方案:
提示:
![]() |
提示:Oracle ACE 总监 John Stegeman 提供了有关如何使用 Subversion 的 ADF 必读,包括签出、提交、合并等,建议准备结合使用 SVN 和 Oracle JDeveloper 的所有开人员阅读此文。 |
在第 2 部分,我们研究了维护变更控制过程中的不同员工角色,然后先看了些不同的变更控制工作流方案,尤其是如何将 ADF 开发构建交给 Subversion 进行。在下一部分,ADF 开发完成之后,将研究如何将应用程序迁移到测试环境,以及如何在 Subversion 中完成此任务。