zoukankan      html  css  js  c++  java
  • FrameWork逆向工程之MotioPI

    在BI项目建设的过程中我们一般都是有备份的,而且这个是必须有的!特别是例如ETL Model,还有Data Model这一类的元数据,这些东西如果我们没有备份,而恰好的我们的开发模型又在某一天离我们而去,这个时候我们就捉急了,今天我们就说一下Framework的逆向工程,如何利用Cognos发布的数据包逆向的得到Framework Manager创建的模型文件?让你再捉急,下面我们就开始吧。

    一:首先我们要获取一个工具,这个工具就是叫做MotioPI

    1.1如何获取工具,我们先看一下下面的连接

    http://info.motio.com/Blog/bid/70358/Recover-a-Lost-Cognos-Framework-Manager-Model-in-60-seconds-or-less

    看到连接后面的那句话,有木有感觉很给力,我靠!没错 ,就是它

    Recover-a-Lost-Cognos-Framework-Manager-Model-in-60-seconds-or-less

    如果你在准备好下面的事情的时候,这句话真的是真的

    接下来我们访问下面的连接

    http://www.motio.com/investigator/home.do   

    如下图所示

    我们点击注册,然后回到下面的界面,填写好信息,注意一定要保证可以提交哦,可以随便写,但是一定要可以提交,特别是Email

    提交注册之后,你会收到一封邮件,如下图所示

    转到下面的页面,去下载吧

    二:安装MotioPI

    我们选择32bit的,关掉杀毒软件,开始安装

    next看到下面的界面,这里注意选择和我们CognosServer版本一致的环境安装即可,比如我们是10.2.0的版本

    接下来基本上就是next模式的安装,这里就不过多的说了,直到安装成功

    三:如何使用MotioPI通过package来恢复Framework的模型文件即Model.xml

    3.1:启动MotioPI界面

    3.2:选择Free Model继续

    3.3:接受协议

    3.4:填写Cognos相关服务信息,Dispater和GetWay写一个即可,右边有解释

    3.5:点击Login登录Cognos服务器,中间会出现一个登录过程的界面

    3.6:忽略上图,因为我们已经写了Dispatcher,关闭后会出现如下图所示的界面,我们选择Model

    :3.7接下来就会出现下面的界面,3.7:我们选择自己已经发布在公共文件夹下的数据包

    3.8:选择完成后,我们稍等片刻就会看到Model已经在下面的工作区生产好了,接下来我们点击SaveLocal(把模型保存到本地)

    3.9:保存恢复好的模型到本地的F盘根目录

    点击save,可以看到下面的提示保存成功

    3.10:注意我们保存的是一个model.xml的文件,接下来我们查看该文件,发现在F盘已经存在了

    四:如何使用Model.xml文件恢复FM创建的Project

    4.1:打开FM,新建一个空白的Project,然后关闭,到工作目录

    4.2:利用步骤3中的model.xml覆盖掉刚刚新建New Project1中的model.xml,如下图

    4.3:确认覆盖,OK,再次打开New Project1,如下图可以看出已经基本恢复了SZCH包所对应的模型

    五:FrameWork逆向工程之MotioPI的利与弊

    5.1:好处

    利用上面的方法基本上可以把一个包对应的所有数据模型恢复出来,包括FM的各个层级,那么接下来我们只要一个包一个包的恢复,就可以恢复出来所有报表对应的FM模型是什么样子了,从而在模型丢失的情况下,基本可以找回报表和dw中table的关系

    5.2:不美之处

    局限就是只能恢复出来已经发布出来的结构,如果主模型存在的一些对象,在该包中没有被发布出来,还是恢复不了的,这样就需要恢复多次,一个包一个包的来恢复,过程还是比较繁琐的

    六:关于MotioPI工具的补充

    下载MotioPI最好的办法还是要去官网下载,即按照上面步骤一的方法,因为有些时候本地的版本会不受支持

    当然:你也可以到我的百度盘去下载

    http://pan.baidu.com/s/1jGEphLc

  • 相关阅读:
    自定义分页二
    CheckBox实现跨页面多选
    正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
    DropDownList下拉框多选
    通用查询
    AutoCAD自动加载DLL文件的方法
    软件开发(团队管理)
    正确地做事与做正确的事
    C#.NET实现邮件的发送
    多附件的上传
  • 原文地址:https://www.cnblogs.com/wxjnew/p/4962887.html
Copyright © 2011-2022 走看看