full-stack 的设计,意味着各层能够无缝的集成在一起,遵循的DRY原则(don't repeat yourself),将各层共用的东西,抽取出来,并通过自顶向下的设计,无缝的集成在一起,粘合在一起,达到更高层次、更粗粒度的重用,同时为了保证灵活的可扩展性,在更高、更粗的粒度上遵守开放-封闭的原则,在各层的各个关键点,要提供诸多的钩子,回调的接口,供使用者扩展。full-stack的设计,在层与层之间,并不一味的追求松散的机制,而是相反,在层与层之间增强一定的内聚性,粘合力,以此来达到粗粒度的封装与重用。  可以说full-stack 的设计,其爆发出的威力是巨大的,相对普通的 ...
2007-12-19

业务平台的真的存在吗

关键字: 企业应用
相信凡是开发者对用户纷繁复杂的需求,都趋之如虎,从制度上,我们建立了严格的需求变更的process, 从技术上,我们寻求一种所谓的业务平台,寻找一个冶百病的良药,在市场上,有商业软件来推销自己的平台,更在平台上加一个业务两字,真有这种平台吗。 关键是我们要对“业务平台”这个词语都没有一个定义,这是个伪明题。 像那些平台软件,反复所说的,UI组件之类,这些是业务吗,是与业务无关的东西剥离出来的一种框架解决方案而已,更不能说是平台中的特色吧。 就是工作流引擎,也是为了将流程定制、跳转与业务逻辑剥离出来的一种设计思想的实施。 表单定制更不是业务,也是与业务剥离的一种方式。 而在现实开发当中 ...
  长期以来,由于IBM等大的厂商,声嘶力竭、不遗余力的宣传,SOA开始在江湖盛传,但掌握着是否实施SOA的权力,掌握在高层的领导手中,而IBM的Sales,则将天花乱坠的Solution,很容易的输入到领导的大脑当中,SOA成为无所不能的利器,而领导对于实施SOA,来改变当前混乱的局面,寄于很高的期望。   而无论是在IBM、BEA、Oracle等大牌厂商,还是Mule等开源方案,都没有真正的案例,来提供很好的异构系统通信的解决方案,而这正是很多大公司长期以来,所希望解决问题。   最近在做一个公司的一个信息集成的工作,由于客户在长期信息化的过程当中,积累了多个IT遗留系统,在工作开始,客户 ...
   最近做一个比较大的电子商务项目,预计每天订单量将在5万多单,客服人员需要频繁的下单、查询订单、操作订单,客人预订完订单后,会立即进入处理流程,为了提高服务质量,要求流水化作业,平均要在40分钟-80分钟内处理完订单,对于疑难订单要到第二天,才能处理完。所以订单在创建后,会在短时间内,被频繁的修改和查看。   由于在项目中ORM层主要是基于Hibernate框架,所以在调优时,很自然的就想到打开Hibernate的二级缓存,以次来减小由于Load 订单大对象时N+1次查询给数据造成的压力,自己做的测试效果也非常好,也顺利通过压力测试。   但在上线时,性能却并不佳,经过分析业 ...
      近日,上论坛中,看了Ibatis和Hibernate的帖子,看后,心里觉得的憋闷,不说不快, 其实Robbin之前有一个帖子,都说过了,但在这里,我想更细化一下:      1. 库表关系的复杂度,首先取决于需求,不取决于设计,设计能力强的人,也要遵守库表设计的规范,从巴克斯三个范式上,原则上也要遵守。不能说用了Hibernate,自己的库表设计能力就强了。不能为了用Hibernate,就去一味批判复杂的关系不对。复杂的关系设计对不对,首先取决于是否有复杂的需求,其次才取决于设计者的能力。 & ...
2006-12-26

群集的存在意义

关键字: 群集
近来为客户新做一个电子商务网站,部门经理天天给我说要把群集做进方案里,听的都吐了,在没有对于用户服务需求真正在进行好认真的分析的前提下,就将群集做进方案里,真的觉得很厌烦。 我觉得即使对于中型的电子商务网站,也不一定需要群集,群集只会增加复杂度,甚至有可能延长用户请求的响应时间。同时限制Web应用的开发方案,如对于重型的基于SessionWeb-Flow方案,你就要考虑不能使用了。但对于电子商务网站,web-flow的应用很多,想像一个网站下单的过程,-查询-预订-登陆-填写需求-填写配送单-信用卡担保(或网上支付)-生成订单。使用wegbflow框架很方便,但在群集环境下, ...
2006-03-29

SQL优化是重点

关键字: 企业应用
信息系统访问量又不大,瓶颈一般不会出现在应用层,极有可能在数据库这一层,不用急着看程序。先找出逻辑读取次数最多的SQL,硬盘读取次数最多的SQL,找到SQL,对于SQL进行优化。看看有没有发生全表扫描的地方。 一般发生全表扫描,极有可能是没有建立合理的索引,或者索引由于左边引用函数或其它原因造成索引失效。 对于运行一年多的系统,最好要自己写一个自动重建索引的程序,定时重建索引。 或者使用TOAD工具帮你重建索引。 另外在看一下数据库的CPU占用率,如果占用率在经常在80%-100%,那一定要是SQL或存储过程及trigger中写的不好。 不需要从应用层找SQL,方向性错误,太累,也看不出效 ...
OneEyeWolf
搜索本博客
我的相册
33aa1154-2beb-4678-a4b1-83e5b0406ef7-thumb
SNV30982
共 3 张
最近加入圈子
存档
最新评论