业务运用工作流在如今是属于最为普遍的,而业务类流程的最大特点是复杂度高,人工、自动参与的情况错综复杂。这类需求在某些场合还需要BPM来应对,而非普通的工作流能所为,即像SAP Business workflow、BEA AquaLogic BPM、myApps等等工作流才能够有效应对。
业务类流程需要的功能要求如下三方面:
第一,支持事务处理:一般业务类涉及的业务不确定性比较大,一旦出现问题,一般都需要进行额外的事务完整性处理。这就要求工作流必须支持事务处理功能,任何一个节点出现异常之后,都可以进行受控的回退和业务数据补偿等复杂操作。
第二、BPM:对于跨越不同应用系统的场合,一般需要BPM上台。BPM基于工作流但又不同于工作流,BPM和工作流的区别和BPM的介绍已经很多了,此处不再累述。
第三、建模支持:业务系统一般讲究先创建业务模型,工作流也是业务模型的一员。所以,最好在流程模板的创建中在一定程度上支持业务建模,方便可以进行业务规划和部署。
非功能性能要求有如下二方面:
标准支持:一般业务系统涉及较多成熟应用,在很多成熟应用领域已经存在一些成形的信息交换标准,这要求工作流在于业务系统交互时,最好能对需要进行整合的业务应用标准进行兼容。
扩展能力:业务系统唯一不变的就是“变化”,所以能否提供随需应变的流程处理能力成为业务流程是否受欢迎的一个重要指标。要想适应变化,一定要做到技术平台化、开发标准华、功能组件化和接口灵活化等特征。