为何采用独立部署的业务流程平台
国内企业,尤其是大中型企业,在建设MSS域或MIS域的流程管理平台的时候需要考虑未来大规模的应用和部署。由于中国的大型企业部门多、员工多、业务关系复杂等特点,与业务流程平台发生互动关系的应用系统也会非常繁复,无论是从更新换代、还是业务逻辑的变化程度看,都是一个涉及层次多,影响范围广的过程。这就要求作为联系应用系统内部逻辑与外部周边相关系统的业务流程平台从大规模企业级平台的角度出发去进行建设、部署和维护。不仅要从纵向去考虑,即满足单个应用内部的流程逻辑的不断变更、优化需要,更为重要的是要从横向去考虑,即满足整个MSS/MIS域内复杂繁复的跨部门、跨应用的业务编排和流转,此点具有战略上的意义,可以使企业最终摆脱独立应用分割的业务模式,而迈向更为顺畅的以完整端到端业务链条划分应用的业务模式。在此种业务模式下,各个应用系统通过对接到清晰划分出来的大规模流程平台,由该平台进行衔接、复用、以及编排彼此之间的交互逻辑以及相应的人工任务,一方面可以使原先独立分割的应用系统轻松跳出各自的系统边界,另一方面保留原有业务系统的强大专业的业务处理功能。这样一来,就可以使得原有业务系统不必考虑如何与其他业务系统对接,这部分的工作交由一个不受任何系统局限的独立流程平台去处理,业务系统本身不需太多改造,也不必负担自身业务事务处理能力之外的功能,因而可以避免变得非常臃肿,更专心做好自己的优势处理功能。另外,各个业务部门的配合更加顺畅,在完整端到端流程的模式下,业务部门的职能功能更加突出,职能履行也更加顺畅,不会再受各自管辖的业务系统的限制,真正做到以业务为中心,而不是以业务系统为中心。
那么,这种独立建设的企业级业务流程平台为什么能满足上述战略意义上的横向贯通呢?它具有什么样的优势呢?主要包含以下几点,在后文会详细阐述。
1. 独立建设和维护的业务流程平台与各个业务系统应用不处在同一台服务器上,也不存在于同一个应用服务器中,因此可以轻松地与任何其他第三方的业务系统进行对接,不受某个应用系统的物理服务器影响,也不受某种应用服务器所采用的技术限制。
2. 独立部署的大规模流程平台具有良好的伸缩性。
3. 独立部署的业务流程平台与各个应用系统之间是不会互相牵绊和互相紧耦合的。
独立部署的业务流程平台优势
首先,独立建设和维护的业务流程平台与各个业务系统应用不处在同一台服务器上,也不存在于同一个应用服务器中,因此可以轻松地与任何其他第三方的业务系统进行对接,不受某个应用系统的物理服务器影响,也不受某种应用服务器所采用的技术限制。以Cordys BOP平台为例,BOP平台采用的是独立完整的SOA体系架构,通过完全基于开放标准Web Service的方式与各种异构应用系统进行交互。由于不需部署在特定的应用服务器中,如J2EE服务器或.Net服务器,因此不会受应用服务器功能和处理能力的限制。
Service的实现技术和方式对于独立建设和维护的业务流程平台来说上至关重要的。Web Service是目前使用最为广泛的跨技术体系和跨应用交互的技术,Cordys因为不受应用服务器技术以及开发语言的限制,因此可以提供基于C语言的XML解析引擎,可以很好地解决Web Service的处理性能问题,因此Cordys BOP不怕使用Web Service。而J2EE或.Net框架虽然也提供Web Service的支持,但是Service的解析会受到Java以及.Net这类中间语言性能的影响,大大低于C语言解析的效率,因此很多声称具有SOA架构支持的流程平台最终在实施的时候都要嵌入到应用系统采用的应用服务器中直接通过Java或.Net接口去调用,才能获得较好的性能。
另外一个制约大多数流程平台采用大规模独立部署的原因是,基于传统J2EE或.Net应用服务器,会在集群时遇到性能瓶颈,该瓶颈会在服务器数量增长到4台以上时出现。这就是为什么会出现小型机,为的就是尽量减少服务器数量,通过增加单台服务器处理能力,而非采用PC集群的方式来解决性能问题。但是小型机的价格往往很高昂,同样的性能指标,几台PC机构成的集群甚至要高于一台小型机,而价格上要远低于小型机的价格。Cordys BOP平台采用了专利技术,将传统的维护连接状态转为维护业务对象状态,从而大大节约了集群环境下的整体系统开销,因此可以做到近线性的伸缩性,从而可以很好地利用PC机构建具有强大处理能力的高性价比集群。
如果将流程平台嵌入到与应用系统同处一台应用服务器,可以想见在性能上,二者是要抢同一台应用服务器的处理资源的。从部署的意义上讲,这种方式只能满足单个应用系统的内嵌流程引擎需要,即满足纵向结合,作为单个应用的改进还可以,但无法提供大规模横向贯穿的需要。离实现战略意义上的企业级流程贯通还差得很远。
其次,独立部署的大规模流程平台具有良好的伸缩性。前文提到,如果流程平台与某个应用系统共用一套硬件服务器,那么其性能伸缩性也就局限在这套硬件服务器上了,而且还要和应用系统分摊有限的计算资源。根本无法具备广阔的性能伸缩性。
需要注意的是,独立部署可以给流程平台带来不受任何应用系统限制的伸缩性可能,是否具有良好的伸缩性还要看具体流程平台采用的技术架构。Cordys BOP可以不依赖于任何操作系统集群或应用服务器集群的限制,采用独特的专利技术,实现近线性的性能伸缩,因而可以构建强大的高性价比PC集群。无论是先进的刀片服务器技术,还是传统的独立物理服务器集群,甚至是未来的云计算虚拟化实例,Cordys都可以很好地部署在其上,形成一个庞大的集群处理机构。更为重要的是,当计算性能需要提升的时候,只需增加新的计算节点,在其上安装部署Cordys BOP的处理进程,就可以立即进行负载分担,这类部署不需停机,因此不会影响任何环节和正常的业务,更不会影响与流程平台相连的应用系统。
Cordys BOP的集群不仅提供性能上的伸缩性,而且还提供管理上的分域,即一套Cordys BOP平台可以划分出多个租户域,每个租户域可以进行独立的集成、流程实现、表单实现,而且还可以从整个集群中划分某些特定的服务器给该租户域使用,这样在物理上可以实现该租户域与其他租户域的隔离,从而可以提供更高级别的处理能力。但是平台仍然是同一个平台,各个租户域之间也可以选择某些资源进行共享,如集成、某些流程模板、某些表单模板等。
这样做的意义在于,Cordys BOP不仅提供一个不受应用系统限制的、具有独立伸缩性的流程平台,而且一套平台还可以适应多个项目和组织。例如,如果未来某个省分公司也需要进行流程应用的建设,那么完全可以在已经部署的Cordys BOP平台上为其划分独立的租户域,因为Cordys BOP的开发环境也是通过浏览器提供的,因此在划分独立租户域的同时,该租户也具有了基于浏览器的开发环境,无需在客户端去安装任何的开发工具和环境。如果需要的话,再增加集群中的服务器/处理节点。如果在应用上有特殊的性能要求,那么管理员还可以为其在集群中单独划分出一些服务器,创建与其他租户域隔离的子集群。这样一来,Cordys BOP实现的就是真正意义上的企业级业务流程平台,而非单一应用中的内嵌引擎那么简单。
最后,独立部署的业务流程平台与各个应用系统之间是不会互相牵绊和互相紧耦合的。也就是说,独立部署的业务流程平台在维护上可以大大简化管理员的工作。如果仅仅是作为单一应用的内嵌引擎,那么将流程平台与应用部署在同一台服务器上和独立部署是没有什么太大分别的。但是如果我们将眼光放到一个企业级流程平台的高度,那就不一样了。因为在一个企业级的业务流程平台上,会与不同的业务系统进行交互,如果我们把流程引擎放置在不同的应用系统服务器中,那么每次维护都要涉及所有的业务系统,势必为运维带来极大的麻烦。而且应用系统的升级换代可能会连累流程平台。
结论
综上所述,为了适应中国大中型企业MSS/MIS域中纷繁复杂的应用环境,增加各个独立应用系统之间的灵活连通,使其变成一个有机的整体。从独立部署业务流程平台带来的主要优势出发,笔者建议这些企业在建设MSS/MIS域的业务流程平台时,应该从企业级平台的战略上考虑,采用独立部署PC集群的方式,来更加科学、高效、经济地构建整个业务运营平台。