商业软件自从运行在大型机上的大型COBOL程序开始,开发工具和技术已经经历了根本的变化。PC的出现带来了极大的进步,Internet已经彻底改变了软件开发生命周期。
商业世界通常既是技术变革的发起者又是技术变革的消费者,目睹了它自己的商业操作的演变。组织不得不更快速地重新设计他们的商业流程来应对很多压力,比如说成本、竞争和创新。这使得组织要快速地适应商业环境的变化,允许重新调整其产品和服务从而在竞争中处于地位。因此快速采用新思想、流程或者方法已经变成了商业颂歌也一点也不奇怪了。
设计和部署可以跟上时代的系统已经变成几乎不可能的任务。在很多开发项目中,技术改变已经超过了开发努力。例如,在项目开始阶段看起来合适并且成本比较划算的解决方案到项目完成的时候证明情况已经不同了。
应用开发经理在这种环境下能够做的一个比较好的可能的方法是评估近两年来关键软件设计创新。然后通过一个明智的挑选过程,你可以应用它们带来时间和成本上大的效益。
传统的商业软件系统完成接受信息输入、执行逻辑过程和产生输出的功能。面向对象的设计规则改变了这种模式,它将软件的层分离成可交换重用的组件。这种方法的一个里程碑把商业逻辑从数据的捕获或表现中分离出来。
我们从追求电子商务应用中已经学到了过多的东西,其中效率是由通信协议和信息结构的标准化所得到的。基于XML的标准和一些服务(比如说SOAP、eBXML、UDDI、WDSL和XSLT)的引入使得组织能够快速地在异构系统间传输信息,不管是在组织内部还是与商业伙伴之间。
商业流程管理(BPM)应用通过实现连接信心系统功能的中间件扩展了这种能力。它们还包括允许组织价值链的快速建模的健壮商业规则引擎。商业规则引擎的标准化随着Java规则引擎API(JSR)已经开始有了显著发展。
通过概念上将信息标准及协议(例如XML)的原则和商业逻辑(例如JSR)的表现标准相结合,我们可以想象到出现一个新的模式:商业规则可以相互交换,因此使得商业逻辑可动。
例如,某些用于产生特定类型的消费者发票的商业规则的编码可以与其它需要执行同样的规则的系统进行交易。这会导致软件开发的新方法的产生,其中规则引擎共享它们的逻辑或者从通用知识库中取出它们的规则——会再一次导致应用开发的速度的增加。
即使这些概念听起来比较牵强,但是事实上却不是这样;它们实际上已经在实施。上面的模式是初的商业规则标记语言(Business Rules Markup Language,BRML)和规则标记语言(Rule Markup Language,RuleML)的核心,这两种标记语言在学术界和业界都有积极的参与者。例如,IBM的alphaWorks提供的CommonRules是一个BRML相关的工作。
作为一个应用开发经理,为了修订你的组织(尤其是你的团队)的业务方式而挑选出和跟上新的设计方案是你的事了。即使你不这样做,也可以肯定地说你的竞争者会这样做。