简介:
本文详细介绍了 InfoShpere Information Server 中的一个子产品 Information
Server Manager 的作用及其与源代码管理系统 Subversion 集成的使用案例。 通过这篇文章,用户将对
Information Server Manager 这个产品有直观的理解,并且能够利用该产品将 DataStage
作业的开发部署工作和企业内已经存在的源代码管理系统进行有效的集成及版本管理。
DataStage Designer 对作业的管理方式及局限性
在现代化的信息工程开发中,源代码管理系统,例如 CVS, SubVersion,
Rational ClearCase 等是必不可少的。通过源代码管理系统,企业可以对企业内部的信息资产进行有效的管理和版本控制。其支持协同开发的特点极大的提高了开发效率。DataStage
是当前主流的企业级 ETL 开发平台 InfoSphere Infomation Server 的核心产品。InfoSphere
Information Server(IS)8.0 以前的版本不支持和源代码系统的集成,对 DataStage
作业的离线管理,只能通过 Datastage Designer 中的导入导出功能来实现, 其支持的格式包括
dsx 和 xml。在 IS8.1.x 版本中新增的子产品 Information Server Manager
也可以对作业进行导入导出,其支持的格式为 isx 格式。从 IS8.5 开始,InfoSphere Inforamtion
Server 家族中的 Information Server Manager 产品开始提供与源代码管理系统(CVS,Subversion,Rational
ClearCase)进行集成的功能。所以在 IS8.5 版本以前,如果需要对作业备份或恢复就只能通过这种导入导出的方式来实现(如下图所示)。其缺陷就是无法对作业进行版本控制,无法方便的切换到过去的某一个备份点,这样就给作业的开发及其使用者带来了极大的不变。
![](images/2013032911.jpg)
图 1. DataStage Designer
作业导出
![](images/2013032912.jpg)
图 2. DataStage Designer
作业导入
Information Server Manager 的作用及作业管理方式
InfoSphere Information Server Manager
是 InfoShpere Information Server 家族中的一员,它可以用来管理 DataStage
和 QualityStage 作业及相关资源。你可以使用 Information Server Manager
完成以下的任务:
- 查看不同元数据资源库(metadata repository)中的 DataStage 和 QualityStage
资源
- 创建可以用来编译和部署的资源包
- 执行作业的导入导出
- 与源代码控制系统集成
![](images/2013032913.jpg)
图 3. Information Server
Manager 作业导出
Information Server Manager 只支持 isx
格式的导入导出文件。isx 格式是 Information Server 推出新型的归档文件,在本质上,它是一种
Java 归档文件(.jar),所以可以通过一些 jar 工具比如 Winzip,JavaSDK 等归档工具方便的查看。isx
格式文件与 dsx 格式文件的区别请参见表 1
表 1. ISX 格式与 DSX 格式比较
比较项 |
ISX |
DSX |
格式 |
Java 归档文件 |
文本文件 |
导入 |
InformationServer Manager 或者
istool |
通过 DataStage Designer 或者 DataStage
命令行 |
导出 |
通过 InformationServer Manager
或者 istool |
通过 DataStage Designer 或者 DataStage
命令行 |
资产关系维护 |
可以导出共享表定义关系,及与其关联的其它公共元数据 |
丢失共享表定义关系,将其转换成 DS 表定义 |
命令行导出范围 |
从多个工程中,导出单个或多个资源,支持 * 等命名通配符 |
导出整个工程资源 |
BuildOp executable |
使用 -incexec 选项 , 将其导出到归档文件。 |
不可以导出 |
此外,Information Server 还提供了相应的命令行工具 istool
对 IS 的各种资产进行导入导出,以及查询和删除公共元数据。此工具也只支持 isx 格式文件。
清单 1. istool 命令行导出资源样例
<InformationServer_Root>/Client/istools/cli/istool export – domain dom1 -username user1 -password pass1 -archive "c:\arc.isx" -ds '"Server/test/test.pjb"'
|
清单 2. istool 命令行导入资源样例
<InformationServer_Root>/Client/istools/cli/istool import – domain dom1 -username user1 -password pass1 -archive "c:\arc.isx" -ds Server/test
|
有关 istool 命令行的详细使用可以从 Information Server
Information Center 中获得。
从 Information Server 8.5 开始,Information
Server Manager 开始提供了对版本控制工具 (CVS,Subversion,Rational
ClearCase) 集成的支持。利用该功能,你可以通过 Information Server Manager
直接的访问 CVS,Subversion 等源代码控制服务器 (source conrtol server),对作业开发工作进行版本控制。
例如在一个典型的 DataStage 和 QualityStage 开发环境如下:多个开发人员连接到相同的的
InfoSphere Information Server domain 系统即相同的元数据资源库(metadata
repository),每个开发人员的 windows 机器都装有 DataStage 和 QualityStage
客户端。如果开发人员想要提交他们开发的资源作业到源代码控制服务器里,他们就需要在同样的 windows
机器上安装 Information Server Manager 即可。
![](images/2013032914.jpg)
图 4. 利用 Information Server
Manager 进行版本控制的整体架构
从元数据资源库 (Metadata Repository) 提交作业到源代码控制资源库
(Source Control Repository)
- 首先需要使用 DataStage Desinger 创建或修改已有的作业,然后用 Information
Server Manager 连接到相应的 Information Server Manager domain,在源代码控制工作空间
(source control workspace) 根据已连接的 domain 创建和共享一个源代码控制项目
(source control project), 然后发送选中的作业到源代码控制项目中。此时 Information
Server Manager 将根据该作业创建一个归档并将归档写到源代码控制项目。
- 在 Information Server Manager 里使用源代码控制客户端 (source
control client) 提交生成的作业归档到源代码控制服务器的资源库 (source control
repository) 中去。
从源代码控制资源库 (Source Control Repository)
中,恢复以前版本的作业到元数据资源库 (Metadata Repository)
- 首先在源代码控制工作空间中的源代码控制项目里恢复作业归档:Information Server
Manager 会从源代码控制服务器的资源库里查找作业归档。
- 在元数据资源库里替换作业:Information Server Manager 从源代码控制项目中导入已经恢复的归档来替换元数据资源库里面的作业。
介绍 Subversion 及 InfoSphere Information
Server Manager 与 Subversion 集成配置方法
Subversion 是一个免费开源的版本控制系统,其目前是 Apache
软件组织的一个子项目,被称为是 CVS 的接班人。Subversion 包含了 CVS 的大部分功能,并且针对某些功能还做了改进。目前绝大多数开源软件都使用
Subversion 作为代码版本控制软件。
Subversion Server 的下载安装
截止发稿时,Subversion 的最新版本是 1.7.4,你可以登录
Apache Subversion下载相应的二进制包进行安装,本文下载和安装的是 windows 版本的
Collabnet Subversion(需要注册)安装包,其里面包含了 Apache HTTP Server
的安装。
图 5. Collabnet Subversion
下载
下载得到 CollabNetSubversion-server-1.7.5-1-Win32.exe,双击即可进行安装。配置
Apache Http Server 与 Subversion 请参照下载页面上的 Readme文件。启动
Apache http server 通过 http 请求访问 Subversion repository:
http://localhost:80/svn/<Repository_Name>,如果出现
404 错误,则可以先访问 http://localhost:80 查看 Apache Http Sever
是否启动成功,然后再检查下配置是否有误。
安装 Subversion 插件 Subclipse 到 Infosphere
Information Server Manager
Subclipse 是 Eclipse 团队开发的用于集成 Eclipse
IDE 与 Subversion 的一款插件。由于 Infosphere Information Server
Manager 是基于 eclipse 平台的工具,所以其安装 Subclipse 插件类似于 eclipse,
首先在安装 Information Server Manager 的客户机上点击 开始->所有程序->IBM
Infosphere Information Server,点击 help->Install New
Software 继续。
![](images/2013032916.jpg)
图 6. 打开安装插件面板并输入 Subclipse
Url
点击 Next直到安装完成。点击 already installed可以查看
subclipse 是否安装成功。
![](images/2013032917.jpg)
图 7. 检查 subclipse 是否安装成功
如何对 DataStage 作业进行版本控制
首先需要在 Information Server Manager Repository
视图中添加一个 Information Server Domain 连接。启动 Information
Server Manager, 打开 Repository 视图,右键点击弹出 Add Domain按钮,点击打开
Add Domain对话框。
![](images/2013032918.jpg)
图 8. 添加 domain
输入 domain 名字,用户名和密码点击 OK按钮。如果配置正确,连接
domain server 成功,就可以在 Information Server Manager 中,浏览该
domain 上的工程列表及包。
![](images/2013032919.jpg)
图 9. 查看工程列表和包
创建和共享源代码控制项目 (source control project)
源代码控制项目是 Infosphere Information Server
Manager 和源代码控制系统 (source control system) 之间的桥梁,其是用来存储作业归档的位于源代码控制工作空间的本地文件系统。所以如果想要实现作业版本控制,就必须先建立一个源代码控制项目,
如果你在多个 Information Server Domain 上有多个作业,你就可以为每个 domain
创建一个源代码控制项目。在 Information Server Manager 的 repository
面板上选择你想要创建源代码控制项目的 domain,右键点击 domain,从弹出菜单中点击 Integrate
Source Control, 将出现以下对话框。
![](images/20130329110.jpg)
图 10. 创建和共享 source control
project
勾上 Share project under source control
after successful project creation,在源代码控制项目成功创建以后将自动加载共享该项目。点击
OK将弹出一个选择源代码控制系统资源库类型对话框。
![](images/20130329111.jpg)
图 11. 选择源代码控制系统资源库类型
这里选择 SVN,点击 Next,将会出现选择 SVN Reporsitory
位置的面板。
![](images/20130329112.jpg)
图 12. 选择资源库位置
创建或选择你之前配置 Subversion Server 时创建的 repository
url, 选择 Next继续。
![](images/20130329113.jpg)
图 13. 输入文件夹名字
使用项目名字作为文件夹名字或者新建一个文件夹名字,选择 Next继续。
![](images/20130329114.jpg)
图 14. 添加备注
添加完备注,点击 Finish即可创建完成源代码控制项目,这是会弹出一个新的对话框
, 共享创建好的源代码控制项目到 Subversion。
![](images/20130329115.jpg)
图 15. 共享已经创建的源代码控制项目
(source control project)
输入备注,勾上 .project文件,点击 OK按钮,即可以将创建的源代码控制项目共享到
Subversion 服务器。切换到源代码控制工作空间 (Source Control Workspace)
视图,即可看到共享的源代码控制项目。
![](images/20130329116.jpg)
图 16. 查看已经共享的 source
control project
导入已经共享的源代码控制项目到你本地的空间
如果先前有管理员已经创建和共享了源代码控制项目,则可以直接将共享的源代码控制项目从源代码控制系统导入到你本地的源代码控制空间。这里以
Subversion 为例,将刚才创建并共享的源代码控制项目导入到本地的空间 。点击 Window->Show
View->Source Control Workspace,在源代码控制工作空间 (Source
Control Workspace) 里面右键点击 Import, 选择 Other->Checkout
Projects from SVN,点击 Next继续。
![](images/20130329117.jpg)
图 17. 选择存在的 SVN Repository
位置
选择之前创建的 SVN Repository,点击 Next继续。
![](images/20130329118.jpg)
图 18. 选择要导入的文件夹
选择要导入的文件夹,点击 Next,输入项目名字,点击 Next, 选择工作空间的本地位置,点击
Finish即可以将共享的源代码控制项目导入到本地的空间中来。
![](images/20130329119.jpg)
图 19. 查看导入成功的源代码控制项目
使用源代码控制系统进行作业版本控制
当有多个开发人员使用相同的 DataStage domain,并且提交作业或别的资源到源代码控制系统,就必须先把本地的源代码控制项目与
SVN 上的项目进行同步,使其是最新的版本。然后再进行开发提交工作。
1. 提交作业到源代码控制系统
切换到 Information Server Manager 的 Repository
视图,选择你想要提交的资源,这里以作业为例,右键点击需要提交的作业,点击 Send to Source
Control Workspace,此操作会创建一个作业归档,把作业归档保存在源代码控制工作空间的项目里。
在 Repository 视图里再次右键点击需要提交的作业,点击 Team->Commit,在新的窗口中选中该作业,在作业备注中,添加相关的版本或修改信息后提交。该作业归档将被发送到
SVN 资源库(Repository)。
![](images/20130329120.jpg)
图 20. 提交作业到 SVN 资源库
![](images/20130329121.jpg)
图 21. 在源代码控制空间中查看已提交的作业
从上图可以看到,提交的作业以归档的形式保存在源代码控制空间。
2. 更新源代码控制系统中的作业
首先在 Information Server Manager 的 Repository
视图中选择已经提交到源代码控制系统中的作业,这里以作业 PERF_10C 为例,其是由一个 Row Generator
Stage 与 Oracle Connector Stage 组成的作业。
![](images/20130329122.jpg)
图 22. 更新前的作业
在 DataStage Designer 中对 PERF_10C 作业进行更新,将
Oracle Connector Stage 替换为 DB2 Connector Stage。然后转到
Information Server Manager 的 Repository 视图中刷新刚才更新的作业。
![](images/20130329123.jpg)
图 23. 更新后的作业
可以看到该作业已经更新了,现在需要将更新的作业提交到 SVN Repository
里面去,其可以按照 提交作业到源代码控制系统的步骤,将更新后的作业提交到 SVN Repository
保存。
3. 如何从源代码控制系统恢复作业
如果想要将当前的作业恢复到 SVN 源代码控制系统的作业版本,比如当你的元数据资源库
(metadata repository) 里面的作业文件损坏了,或者你想要将当前的作业恢复到 SVN
源代码控制系统里的早期的作业版本甚至源代码控制系统里的不同分支里的作业的时候。你需要这样做(注意恢复作业的时候需要先将
DataStage Designer 关掉,以防恢复作业的 时候作业被锁,导致恢复失败)
确定你想要恢复的作业或其他资源,打开 Information Server
Manager 的 Repository 视图,右键点击需要恢复的作业,点击 Replace with,将会以下四个选项
- Base Revision
- Latest from Repository
- Branch/Tag
- Revision
当元数据资源库 (metadata repository) 里面的作业文件损坏或者发生了改变但还没有同步到
SVN 里面去,这时就可以选择 Replace with->Latest from Repository,即可将当前作业从其最新的版本恢复。如果你想从
SVN 里面历史的版本恢复当前作业的话,你可以选择 Replace with->Revision,将会出现一个显示该作业所有历史修改及其版本的视图。
图 24. 查看 SVN 里面的作业版本
从上图可以看到该作业目前总共有两个版本 18 和 19,当前的版本是
19。若果想要恢复到版本 18。右键点击版本 18,选择 Get Revision,将要恢复的版本切换到
18。
![](images/20130329125.jpg)
图 25. 选择需要恢复的 SVN 里面的作业版本
可以看到版本 18 左上角加上了星号,此时只是将本地源代码控制空间中的归档给恢复到版本
18 了,下一步需要将元数据资源库 中的作业从归档中恢复,转到 Repository 视图中的 PERF_10C
作业,右键点击该作业,选择 Replace from Source Control Workspace,
然后选择需要替换 Yes按钮 , 刷新该作业,即可以看到改作业已经被替换到版本 18。
![](images/20130329126.jpg)
图 26. 成功恢复的作业
如果你想要将当前的作业从别的分支中恢复,这里你可以选择 Replace
with->Branch/Tag,将弹出一个窗口,选择存在的分支,然后按照先前恢复历史版本的方式进行恢复。
结束语
本文重点介绍了 InfoSphere Information Server
Manager 如何与 Subversion 集成,以及如何进行作业版本控制的详细步骤。并通过例子和图表进行了阐述。希望阅读完本文能帮助您了解
Information Server Manager 以及如何对作业进行版本控制管理。非常感谢您阅读该文章!
下载
描述 名字 大小 下载方法
本文用到的 DataStage 作业示例 jobsample.zip 10KB
HTTP
关于下载方法的信息
参考资料
“如何结合使用 Subversion 和 Eclipse”(developerWorks
中国,2006 年 9 月)如何结合使用 Subversion 和 Eclipse。
通过 IBM InfoSphere DataStage and QualityStage
产品信息中心,了解 IBM InfoSphere DataStage and QualityStage
产品的详细信息。
通过 IBM InfoSphere Warehouse 产品信息中心,了解
DB2 数据仓库的产品相关信息。
通过 developerWorks Information Management
专区:在这里可以学到更多关于 Information Management 的知识。还可以找到技术文档、how-to
文章、培训、下载、产品信息等。
随时关注 developerWorks 技术活动 和 网络广播,包括各种
IBM 产品和 IT 行业主题。
在 Twitter 上关注 developerWorks。
观看 developerWorks 演示中心,了解面向经验丰富的开发人员的高级功能。
|