2007年06月
中国历史上的豪言壮语之先秦篇……天行健,君子以自强不息。地势坤,君子以厚德载物……臣之剑十步(杀)一人,千里不留行……风萧萧兮易水寒,壮士一去兮不复还……阅读全文>
发表于 @ 2007年06月30日 22:19:00|评论(loading...)|编辑
java实现之生成器模式……在这里我们使用一个构建房屋的场景来说明“生成器”——builder模式的使用……简单的说,它有点像工厂模式,但是最终生成“产品”的是Director而非Factory,Director可以使用的builder来生成产品。而builder——生成器则遵循统一的接口,实现不同的内容,从而达到将一个复杂对象的构建与它的表示分离的目标……阅读全文>
发表于 @ 2007年06月30日 12:08:00|评论(loading...)|编辑
Ajax确实能给客户甚至开发者带来很棒的体验,但在某些情况下,Ajax所表现出来的特性很可能成为了它的弱点、甚至缺陷。那么,谈谈使用Ajax技术可能面临的一些问题:XMLHttpRequest 的可用性,可用性考虑,服务器负载,处理异步。阅读全文>
发表于 @ 2007年06月23日 23:45:00|评论(loading...)|编辑
可以说Ajax不是一项技术,而是一种Web交互的操作模式。同时,Ajax并不是这两年出现的什么新东西,因为所有实现Ajax应用程序的组件都已经在我们的浏览器里存在若干年了。下面的时序图可以清晰的展现Ajax技术在客户端与服务器之间往返交换数据的过程……阅读全文>
发表于 @ 2007年06月23日 23:25:00|评论(loading...)|编辑
Spring提供了TransactionProxyFactoryBean作为动态代理的生成工厂,该工厂产生目标bean的动态AOP(——面向方面编程)事务代理。事务代理根据所配置的事务属性自动管理事务操作。该事务代理对事务的透明管理依赖于一个在ApplicationContext范围全局可见的PlatformTransactionManager……事务管理器必须要知道被管理的DataSource的位置,这也就是为什么我们无法在Spring/JTA框架中管理Web Service事务的原因……AOP、代理或是回调函数,它们都是基于一种名为“增强机制”的思想去做的——将一个线性的程序过程进行切片,在这些“切片”上对程序的功能进行“增强”。阅读全文>
发表于 @ 2007年06月23日 12:33:00|评论(loading...)|编辑
利用Ant作为公共基线以保证:代码永远是可构建的以及程序员可以自由选择任何他们习惯使用的IDE工具、环境或编辑器……个人认为Prototype最大的卖点就在于它封装了一套机制,可以在script中像在java中一样创建类、使用对象,从而使开发人员能方便的以面向对象的风格编写脚本……感觉Buffalo的重量要比DWR轻些,当然,就我个人来说,还是宁愿用自己简单封装的Ajax框架,因为我觉得Ajax这种东西根本没有必要封装的那么重……如果你确认你的SOA架构和企业应用主要基于java技术,那么为什么不考虑使用Burlap呢?阅读全文>
发表于 @ 2007年06月23日 12:27:00|评论(loading...)|编辑
桥接模式的适用:你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如:程序的实现部分在运行时需要被选择或者切换。类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充……那么,我们使用抽象类AbstractText对IText的具体实现进行“桥接”,即在这两个真实的实现和最终对外使用的字体类TextBold和TextItalic之间建造了一座桥梁,这座桥梁是通过TextBold和TextItalic继承抽象类AbstractText实现的。最终,结果就是,字体具有了新的特性Bold和Italic但又不失自己的基本属性Linux和Mac。阅读全文>
发表于 @ 2007年06月22日 17:21:00|评论(loading...)|编辑
当在软件开发团队中谈论RDBMS时,大部分人会有一个清晰的概念,在你和他们交流的时候,人们会通过轻微的点头表示认可或理解你所说的。可当使用工作流术语讨论工作流时,他们会摇头表示不同意,因为每个人对工作流术语都有不同的理解……对于引入工作流的组织,能够在软件开发和业务两个层次受益……工作流系统使得新业务流程很容易部署,业务流程相关的软件可以一种迭代的方式开发,因此使用工作流系统使开发更有效、风险更低……工作流系统的定义接口使流程开发人员能够部署流程定义。注意,这里的“流程开发人员”可以是业务分析师和软件开发人员的组合。以下是WfMC参考模型(reference model of the WfMC)中定义的五个接口中的四个……阅读全文>
发表于 @ 2007年06月22日 00:40:00|评论(loading...)|编辑
很多时候,我们的工作流程并非仅仅是做些人机交互的审批或协同的办公,越来越多现存的或单独开发的企业应用需要被加入到工作流程中,从而组成一个完整的、贯穿始终的业务过程……EAI工具及其解决方案对于解决繁多的遗留系统和已有应用的集成问题是不可缺少的,这么做主要是为了保护企业的信息化投资——充分利用现有系统,以及消除“信息孤岛”——使不同的系统互联协同工作。从而,这也证明了为什么EAI在中国并不是被广泛的实施……阅读全文>
发表于 @ 2007年06月18日 20:42:00|评论(loading...)|编辑
企业业务流程重组,英文全称为Business Process Reengineering(以下简称BPR),是90年代初兴起于美国的最新管理思想。随后,在以美国为首的西方各类公司开始了BPR改革的热潮。……“铁路警察,各管一段”式的专业分工精细化的组织机构、职能部门制是造成企业僵化的主要原因……以顾客为中心、企业的业务以“流程”为中心,而不以一个专业职能部门为中心进行、“流程”改进后具有显效性……因为我们知道利用工作流管理是实现BPM和BPR的最佳手段。阅读全文>
发表于 @ 2007年06月17日 22:11:00|评论(loading...)|编辑
任务(task)在某些场合也称作工作项(workitem)……如果分解任务,则会涉及到任务的退回、取回、提交、查询、数据归并、父子任务关系维护与处理等一系列问题,无疑这需要更为复杂的工作流引擎架构支持。那么,如何在不分解任务的前提下,实现将A的任务交给B代为办理,甚至交给B、C、D……等多人共同代为办理呢?阅读全文>
发表于 @ 2007年06月17日 22:08:00|评论(loading...)|编辑
国内企业做系统设计的水平和欧美企业的差距还是不小的,而且也显得很浮躁、很功利。但我认为这不能归结于国内开发人员素质不行、企业领导素质不行,而是国内的行业氛围和环境还没有普遍达到那种需要精益求精的层次,毕竟我们还在“资本主义的原始积累阶段”,我们的企业首先需要的是生存、活下去……阅读全文>
发表于 @ 2007年06月16日 19:55:00|评论(loading...)|编辑
无论CMM\CMMI从本质上都是科学的、在一定范围内正确的,我们不能否认,但为什么在国内企业的实践中就是另外一种效果、变了味了呢……阅读全文>
发表于 @ 2007年06月16日 19:43:00|评论(loading...)|编辑
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。这个例子模拟了对一个特定组织系统——OrganizationAdaptee的适配。适配器OrganizationAdapter实现了适配接口IOrganization,从而使得客户端系统可以通过自己的接口IOrganization使用此组织系统——OrganizationAdaptee,而不需要耦合它的API。
阅读全文>
发表于 @ 2007年06月15日 10:54:00|评论(loading...)|编辑
from optaros' Open Source Catalogue 2007.
optaros是美国的开源软件研究及解决方案咨询公司,以下是其2006年底发布的2007开源软件评点报告中关于工作流系统的介绍,值得参考……所有开源工作流项目在“企业应用等级”这一项中获得的最高评价也不过2星级,这说明开源技术的研究者对于工作流系统这种相对庞大、复杂的软件体系,从开源项目应用到商业系统中还是持保守态度的。所以,如果没有足够的技术研究和二次开发的实力,又要解决大型或中型企业应用系统的业务流程管理问题,还是采购功能和支持相对完善的商业软件比较保险。阅读全文>
发表于 @ 2007年06月14日 16:26:00|评论(loading...)|编辑
了解一下几种常见的开源软件许可证。这可以规避一些法律上的麻烦、做到心里有底;对项目、技术选型也会有所帮助……所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。阅读全文>
发表于 @ 2007年06月14日 14:04:00|评论(loading...)|编辑
jBPM是jBoss的子项目,那么其在jBoss上的部署就相当简单了,基本不用废话,因为在jBPM套装版本(suite)中的server目录就是一个已经部署好jBPM的jBoss,不过这个jBoss启动的时候要连带启动很多应用,太慢了,有点受不了。所以我们最好在Tomcat上部署一个纯洁的、独立的jBPM应用,以便研究。阅读全文>
发表于 @ 2007年06月13日 16:38:00|评论(loading...)|编辑
抽象工厂模式示例通俗的说明——有三种抽象的产品:墙、门、房间。
对这三种抽象产品有两组具体实现:卧室和起居室。
那么,我们的抽象工厂就可以根据客户的指令(即调用参数)去生产卧室和起居室的房间(墙和门包括在房间里)。阅读全文>
发表于 @ 2007年06月13日 13:45:00|评论(loading...)|编辑
在开源的工作流项目中,jBPM受到的评价不错。其官方网站 www.jbpm.org 可以下载最新的版本,以jbpm-jpdl-3.2.*版本为例,说说如何安装jBPM的流程设计器。
阅读全文>
发表于 @ 2007年06月12日 17:11:00|评论(loading...)|编辑