`
江南白衣
  • 浏览: 544761 次
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
如前所说,Mondrian是OLAP的核心引擎,负责从关系数据库中计算、缓存数据,响应来自表现层的使用MS家 MDX语法的查询。具体表现形式呢,就是一个jar,随Tomcat启动。 看完那个FoodMart的Sample之后, 该自己动手了。 首先第一步是设计OLAP的数据库结构。 因为和业务数据库相比,OLAP需要冗余一些数据达到更快的查询。 设计前可以先参拜一下那本经典的《完全维度设计指南》,中文版的几下就能翻个大概。 其实说白了就是去除与报表无关的列,把订单、订单明细两个表合并成一个销售事实表,把产品,产品分类两个表合并成一个产品维表这几个动作。 设计完之后,应该会有几个装有统计数据和维表 ...
缘起 从前到现在,用户需要从IT系统中获取信息的变化无常与程序员从传统数据库中制作报表的代价是一个永恒的矛盾。 这边厢程序员为了应付客户忽然而至的报表需求痛苦不已, 客户只想要他想知道的东西,不会管查询语句有多么复杂,优化从海量数据中提取报表的速度有多么困难。 那边厢客户为了等程序员做一个报表,快则半天,慢则一周,事情都过去了。明明只想知道一样很简单的东西, 程序员却要抱怨查询是多么复杂,数据结构是如何制约。有时候出一个报表要呆在屏幕前等半天。 而OLAP是唯一一种真正让用户获得自己所需要的报表而且不用付出巨大实现代价的方法。它能够让用户自由的定制自己的查询条件,观察、累计的维度,最后从海量 ...
Rich Client Fashion    JDK1.5和C# 2.0没有太让人兴奋,即使再加上EJB3.0和WebForm 2.0,都没有Rich Client的大潮让人对今年抱有期待。    Rich Client的Fashion里,XAML和XUL是基于特定浏览器的实现,Flex和Laszlo是基于Flash的实现,Eclipse也有自己的一套。不过,XAML还处在单细胞状态,而且基于.Net;XUL就需要客户安装FireFox,而且XUL似乎规模偏小。Flex版权太贵;而Laszlo又出身不够高贵且小命掐在MM手里。Eclipse的rich client还没有试用但估计占有市场不易。  ...
 所有项目都是被需求变更累死的,eXtreme Programing提供了一种哲学,一种态度,但更实际的,是那些能够应付需求变更的技术。     比如用OLAP支持复杂报表的快速定制,用script语言如Groovy支持客户自定义公式,    还有Rule Eng ...
     DynaBean是BeanUtils里的宝贝之一。有了动态Bean,就不用写那么多VO出来了,特别那些只是为了和View交互而存在的bean,i hate Form Bean。     DynaBean的用法很简单,特别是有了LazyBynaBean之后.         DynaBean car = new LazyDynaBean();         car.set("carNo",1);         car.set("owner","张三");         out.print(car.get("car ...
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。1.属性的动态getter、setter 在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要根据名字动态取得的,就像这样:  BeanUtils.getProperty(myBean,"code");而Common BeanUtils的更强功能在于可以直接访问内嵌对象的属性,只要使用点号分隔。BeanUtils.getProperty(orderBean, &quo ...
        JasperReports+iReports ,  类似于CrystalReport的开源报表系统,最主要能帮助我们在设计时把数据和表示分开,帮助我们实现Web报表的分页打印,分组合计,变量的加减处理,输出的格式化,还有导出Excel、pdf等,反正用过了的人都不肯回去重新自己画html页面出报表了。     google上有入门教程,非常容易。但一遇到复杂的报表,入门那套很快就玩不转了,如果没有中级的研究,可能又得乖乖回去用html画报表。     首先网上有一份JasperReport收费文档,不过老实说,这份文档收费的话显得太单薄了。       1.自定义数据源,传入VO ...
    天寒地冻,呆在家里又读完了《Mastering Oracle SQL》2nd,发现Oracle的功能还是很强悍,光函数就有两百个,那些面向对象的查询语言很难模拟,特别是SQL2003里针对OLAP的windows function等。    幸好Hibernate3.0也支持SQL了。        1.报表合计专用的Rollup函数         销售报表  广州     1月      2000元  广州     2月      2500元  广州                 4500元  深圳     1月      1000元  深圳     2月      2000元  ...
  第2版:2005.6.22   --修改优缺点比较部分   因为有些IDE不支持,一直没有完整留意UML的扩展机制,所以也就以为UML不很适合做MDA。比如生成Hibernate的hbm文件,一些属性的辅助属性比如lazy-load,应该放在Class图的哪里呢?    最近AndroMDA在TSS上发广告,介绍说AndroMDA 3.0出来了。就连过去看了一下。原来除了StereoType,UML另有Tagged Value的机制, 可以把一些属性附在类的方法和属性上。     总的来说,AndroMDA的结构应该说比较开放和实际的:1.AndroMDA使用过程1.程序员通过Poseido ...
hu 时时勤拂扫, 莫使有尘埃. --update at 2005.6.22因为服务器关系暂时不能下载了,要的朋友可以加我QQ:228013,不过:1.书多是英文版2.请善用emule和bbs.itebook.com,能找到的书就不要找我了3.加好友时请写明要的书名 Software Engineering--炼石升仙版 《The Agile Software Development(敏捷软件开发)》  Alistair Cockburn --"Agile"。《The Pragmatic Programmer(程序员修炼之道)》  Andrew Hunt,David Thom ...
独孤木,一个台湾鸟人,文章很是厚黑、直白,很多在“大师签名系列”里面不会看到的东西。文章在这里打包下载,其中我个人比较喜欢下面几篇,不知哪里可以找到更多:《Delayed Project》、《People Management》《Software Quality Assurance》、《报价阶段预估项目时程与成本密技》在<delayed project="">里,独孤木讲解了面对延迟项目的种种做法。独孤木对这几种方式当然是统统不赞成的,但乃知兵者是凶器,圣人也有不得以而用之的时候。怎么合理的组合使用这些方法,有效的应付项目延期,却是我要从文章里学习的东西。在< ...
    定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。    而在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码。Spring对Quartz大刀阔斧的简化堪称范例,Quartz项目组也许可以学习一下。    <bean id="methodInvokingJobDetail"        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailF ...
Global site tag (gtag.js) - Google Analytics