解决方案:我们知道informatica有些pwcmd命令可以通过写Unix shell或者windows bat文件来实现调用,而我们的解决方案的核心就是通过调用PWCMD函数和命令来实现。
首先,我们定义好这个解决方案的整体架构,假设informatica平台是在unix下搭建;因此我们根据已有的条件将解决方案分成前台与后台,整体架构如下:
Front-end:
在这个解决方案中,我们推荐使用java来作为前台的编程语言,因为它可以跨平台。通过java开发web页面并给予适当的权限控制,可以实现每个项目的 开发人员自助的方式来安排自己的mapping/workflow的迁移。同时java通过JDBC访问我们的repository得到 informatica的metadata;当然我们还需要在metadata db里面创建2个表来实现schedule。
Back-end:
在后台,我们开发4个组件,关键的组件是通过shell脚本调用PMCMD;当然要实现自动化,其他两个组件也必不可少,一个是准备组件,另一个是 schedule组件,当然为了是我们的系统有很好的容错性,我们第四个组件就是error handle组件。下面是后台的组件架构图:
下面详细介绍一下四个组件的工作流程:
首先,第一个组件是准备组件,负责把前台开发人员输入的schedule信息转换成控制文件。
第二个组件,schedule工具,分成两个部分,一个是schedule的server,负责调度job;另一个是schedule的node, 负责job执行。
第三个组件,是开始执行迁移工作,通过shell脚本调用informatica的pmcmd来实现mapping/workflow的metadata从开发库往其他库迁移。
最后一个组件,是负责error handle,如果在迁移或者调度job过程中,发生错误,需要把error message记录下来。
通过实施这个方案,可以帮助informatica支持团队节省迁移的工作量,大约提高了15%的生产率。
注释:Copyright owned by author
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/647161/viewspace-763307/ ,如需转载,请注明出处,否则将追究法律责任。