Heim  >  Artikel  >  Datenbank  >  Oracle BAM 使用体会

Oracle BAM 使用体会

WBOY
WBOYOriginal
2016-06-07 17:18:02947Durchsuche

看了一下BIRT。 想起在前一家公司使用Oracle BAM, 当时就我一个人搞BAM,从零开始,把东西学的差不多后发现Oracle BAM要做起应用

看了一下BIRT。 想起在前一家公司使用Oracle BAM, 当时就我一个人搞BAM,从零开始,把东西学的差不多后发现Oracle BAM要做起应用来极其崩溃,几乎要把我折磨死。Bug一堆不说,功能设计也相当鸡肋。虽然可以理解,做到Oracle BAM那么不编程就实现实时确实很难,但是感觉Oracle的设计方向有问题。把东西封装的太死,花大量时间做功能的封装,几乎没有任何扩展,这样的好处是如果只用到了它提供的功能,万事大吉,做的还快,但是一旦它的功能没法满足需求,那么就完蛋了。

1.Report的产生只能按照BAM提供的套路,直接从DataObject里生成,提供的套路有限。大概就是sql功能的限制版,限制只能在一个DataObject上操作。 经常遇到的问题是,为了某个report建了一个DataObject; 之后的需求要用同样的数据生成另外的report,但是因为BAM提供的套路有限,可能这个时候的数据格式就没法生成我们要的report了,就只能再建一个DataObject。造成大量数据重复,集成复杂化。BAM对比BIRT的一个不足是,BIRT可以从一个SQL的执行结果里生成report,这样SQL就可以对数据进行一些预转换来满足业务要求。BAM没有类似的功能,考虑到BAM需要截获数据的变更,所以通过sql来做确实有点困难,但是还是希望有个类似的功能出来。

2.Report的style只能在页面上的那些选择之类来更改,没有一个统一的CSS。 这样如果大老板希望所有report的颜色之类变变,那就只能把自己当苦力,一个一个改了。当时确实碰到这个问题,好在被TL挡住了,不然要累死。

3.BAM提供一个基于web的report编辑器。report里的view的布局之类也在web上做,用鼠标托拉调整大小,对齐之类。没有提供任何帮助的工具,没有坐标,没有水平线,垂直线,百分比,或者直接输入值的地方。反正什么都没有,,想要把页面布局的好看些那就哭去吧。好在后来我做了个小工具,把report先导出来,导出的文本其实是个XML,把report内容的部分截出来,把< >  & 之类的字符按XML转义的替换一下,生成一个新的xml,直接更新xml的内容,可以直接调整大小,颜色之类。完了把字符替换回去,并入原来的XML再导入到BAM。

4.动态性不足,没有地方让用户可以自己输入javascript之类来对页面进行些自定义的操作。虽然BAM生成的也是html,但是Oracle把这些都封装死了,没法潜入javascript ;再比如calculator field,其实也可以做到用写动态语言自己写,现在只能用BAM的功能,就算对字符串进行简单操作都变得很困难。

5.bug太多,产品还不够稳定;封装太死,提供的功能的一致性不够强。很多我们认为它会提供的功能最后发现没有,做任何事情前都要亲手做一下,切切实实的试试才能知道到底能不能做。比如,一个Row Group里面不能包含另外一个Row Group; Row Group的title字体没法改(可以用3里提到的那个工具改);Drill Across的参数不能含有 ‘,’(BAM在javascript里写死用这个作为参数分隔符);Drill Across不能用Calculator field作为参数等等。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn