在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

FrameWork逆向工程之MotioPI的更多相关文章

  1. 逆向工程之App脱壳

    http://www.cnblogs.com/ludashi/p/5725743.html iOS逆向工程之App脱壳 本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是 ...

  2. iOS逆向工程之Reveal工具的安装、配置与使用

    今天博客内容比较简单,不过还是蛮重要的.经常有小伙伴在QQ上私下问我,说博客中是如何使用Reveal查看AppStore中下载应用的UI层级的,那么就在今天这篇博客中作为一个主题来统一的介绍一下吧.虽 ...

  3. iOS逆向工程之Hopper中的ARM指令

    虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学.现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少的实验,当时自我感觉ARM这门课学的还是 ...

  4. iOS逆向工程之Hopper+LLDB调试第三方App

    LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...

  5. iOS逆向工程之App脱壳

    本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解 ...

  6. iOS逆向工程之KeyChain与Snoop-it

    今天博客的主题是Keychain, 在本篇博客中会通过一个登陆的Demo将用户名密码存入到KeyChain中,并且查看一下KeyChain中存的是什么东西,把这些内容给导出来.当然本篇博客的重点不是如 ...

  7. iOS逆向工程之Theos

    如果你对iOS逆向工程有所了解,那么你对Tweak并不陌生.那么由Tweak我们又会引出Theos, 那么什么是Theos呢,简单一句话,Theos是一个越狱开发工具包,Theos是越狱开发工具的首先 ...

  8. iOS逆向工程之Cycript

    1.连接设备 打开一个终端,输入指令: iproxy 重新打开一个新的终端,输入指令: ssh -p root@127.0.0.1 这时候会提示输入密码:默认密码为“alpine”.这样就可以连接到设 ...

  9. mybatis逆向工程之maven工程

    maven工程与动态web工程存在差异,不过大体是相同的 注意:运行成功后记得refresh刷新下,否则看不到 一.在pom文件中进行如下配置 <project xmlns="http ...

随机推荐

  1. luoguP2303 [SDOI2012]Longge的问题 化式子

    求\(\sum \limits_{i = 1}^n gcd(i, n)\) \(\sum \limits_{i = 1}^n gcd(i, n)\) \(=\sum \limits_{i = 1}^n ...

  2. [CSAcademy]Cycle Tree

    [CSAcademy]Cycle Tree 题目大意: 定义环树是一张无向连通的简单图,它的生成方式如下: \(2\)个点\(1\)条边的图是环树: 对任意一个环树,加入\(k\)个点\(a_{1\s ...

  3. poj 3264 线段树

    题目意思:给定Q(1<=Q<=200000)个数A1,A2,```,AQ, 多次求任一区间Ai-Aj中最大数和最小数的差 线段树太弱了,题目逼格一高连代码都读不懂,今天开始重刷线段树,每天 ...

  4. vijos 1894 二分

    题意:在 Ninian 的花园里,有许多琼花,环绕着中间的凉亭.有 N 片琼花,组成一个环.Ninian 想在凉亭中发动 [セチの祈り] , 需要划分出三个区域的琼花,为了平均,要最大化面积最小的区域 ...

  5. C# 7.0特性与vs2017

    下面是关于在C#7.0语言中计划功能的说明.其中大部分功能在Visual Studio “15” Preview 4中能运行.现在是最好的试用时期,请记录下你们的想法. C#7.0语言增加了许多的新功 ...

  6. Mac安装homebrew安装到指定目录

    第一种直接安装在/usr/local目录下 mac 打开终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr ...

  7. 怎么改变html中placeholderr的文字颜色

    <input type="text" placeholder="这里是提示文本" /> 设置的css代码: ::-webkit-input-plac ...

  8. Git_创建版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  9. 用Parallel.For()和Parallel.For<TLocal>()方法实现并行运行迭代

    Parallel类是.NET 4中新增的抽象线程类.如果你开发用的是VS2008或更低版本,那么就直接关闭吧,下面两个示例用了匿名委托,如果不知道匿名委托的语法,那么先去简单了解一下,不然很难理解示例 ...

  10. 报错:405 Method Not Allowed

    出现错误的原因是:静态文件不能通过post方式访问. 解决办法:改成用get方式访问.