基于SOA架构的BPO业务流研究
2013-04-29杨倩秦凤梅
杨倩 秦凤梅
摘要:低成本不再是中国软件外包产业中的优势,在人力成本方面会失去优势。在这种情况下,BPO(业务流程外包)将成为更加主流的外包形式,BPO带来的不只是技术上的先进,更多的是服务和管理上的进步。该文从介绍SOA体系架构的思想和分析BPO业务流程入手,分析了当前BPO业务的需求,进而提出了一种基于SOA体系架构的BPO业务流的构建方式,并描述了这过程中涉及到几个关键步骤。
关键词:SOA;BPO;业务流;Web Server
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)07-1686-03
当前,许多企业随着规模不断扩大,企业的地理位置也越来越多分散,各个部门之间资源共享和信息交互的需求非常突出。而分散的企业信息系统具有多系统,多平台等复杂的结构。这些对企业的管理以及业务流程的执行带来了一定的困难。
本文针对集团企业特点和集成的需求,基于SOA架构和工作流技术框架,以BPO的业务流程为例,详细分析了如何为企业提供更好的重用性和更好的灵活性。
1 SOA体系架构
SOA(Service-Oriented Architecture,面向服务的体系结构)是一种企业级的IT系统架构。它的基本思想是将一个完整的系统分解为一个一个的“服务”,然后将各个“服务”再映射到不同部门。比如硬件集成商专门为系统硬件方面提供业务咨询,维护等,软件开发商则为本系统提供软件服务。所有“服务”之间通过制定好的标准接口进行耦合,从而使得系统的服务就像链表一样,可以灵活地增加、修改而不影响原有系统基础。
SOA凭借其松耦合的特性,使企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需求。W3C把SOA定义为“一组可调用的组件,其接口描述可以被公开和发现”。意思即SOA中的术语“服务”并不是指某个具体的功能,而是指一种功能明确,容易被人发现,且不依赖于其他的操作系统、编程语言和软件部署的接口。这种接口设计出来后可以不断地被重用,而且也易于软件的整合。
2 BPO业务流分析
BPO(Business Process Outsourcing,业务流程外包),是指企业将非核心的业务流程外包给外部专业服务商以降低运营成本、提升运营效率。BPO将职能部门的全部功能(比如事务处理、人力资源、财务等)都转移给供应商。外包供应商根据服务协议在自己的系统中对这些职能进行管理。如此,外包供应商就可能面对很多不同的企业,不同的业务需求,且要求能够不断地增加企业用户。其BPO业务流程如图1所示。
BPO服务供应商可能面对三种不同的对象:
1)客户:向本企业请求提供某些服务;
2)合作企业:本企业的某些服务与合作企业共同协作完成;
3)另外的BPO服务供应商:将本企业某部分业务流程外包出去。
不同种类的操作系统,应用软件,系统软件和应用基础结构相互交织,一些现存的应用程序被用来处理当前的业务流程,这就是当前BPO企业的现状。当需要增加一个业务时,从头建立一个新的基础环境是不可能的,只能利用现有的应用程序和应用基础结构来解决新的业务需求,然后为客户,商业伙伴以及供应商提供新的互动渠道。
BPO供应商要面对多种不同的对象,不同的应用基础结构,要满足不同的业务需求。BPO业务主要有以下几点需求:
1)稳定性 新业务的增加,不能影响到已有业务的运行。
2)灵活性 新业务的增加,不是在原来的系统上增加一个新的庞大的业务处理流程,而是在已有的流程上,对已有服务进行业务重组。如果实在不能满足新业务需求,再增加少量功能。甚至说进入BPO市场的服务供应商互相联合重组,以形成新的联合体增加他们服务提供的能力。
3)安全性 业务所涉及的数据必须保证只能由当前业务的所有人和执行者查看。不能在多个业务之间出现数据混乱
4)专业性 行业专家参与涉足行业纵深部门的企业。从他们擅长的业务领域进入相应的BPO市场。如:曾经专注于金融服务的公司完全可以提供跨行业的金融服务,以扩展服务对象的范围。或者将他们的专业知识延伸到新的纵深行业。
3 解决方案
SOA体系架构可以完美地解决如上的需求,即将整个核心业务再划分为一个一个更小的“应用”,这些现有的应用通过标准接口来提供功能。若有新的业务,再将各个“应用”按照业务需求,通过标准接口,灵活地进行耦合。如此这样,BPO服务就像是我们日常生活中的组装一样。一旦设计出了能满足各种情况的不同的组件,那么在需要的时候,只要直接将这些组件组装在一起就可以工作了,大大加快了速度。
3.1 基于SOA的服务框架,让BPO业务系统更稳定、灵活
传统的业务流程管理都是非常局限的,通常必须在同一系统中进行业务的运转,而无法实现跨系统、跨平台的业务运转。而现目前的需求却是要在不同的平台中进行数据调度。特别是BPO业务流可能经过很多不同的企业,不同的系统,不同的平台。如何在这么多不同中实现相同数据的传递呢。这就需要一个服务的基础框架,用它来将这些东西进行整合。其BPO服务框架如图2所示:
在图2中,客户可以通过发送消息来调用服务。这些消息由一个服务总线转换后发送给适当的服务实现。同时服务总线提供一个业务规则引擎,该引擎容许业务规则被合并在一个服务或多个服务里。这种服务基础框架也提供了一个服务管理功能,用来管理服务调度,服务添加,服务审核等。此外,该基础框架给企业提供了灵活的业务流程,并且可以在不影响其他服务的情况下更改某项服务。
3.2 BPO业务流中的服务耦合机制,更安全
BPO业务流程中,不仅需要接收客户信息为客户提供所需要应用服务,还会涉及向其他的服务供应商发送消息,接收自己所需要应用服务,以及和合作企业共享信息的情况。传送的消息多种多样,接收的应用也名不相同。这就需要有适当地服务调试的机制来完成这一系列数据与应用之间的调度问题,这就是图2中服务耦合部分的主要功能。其SOA基础结构如图3所示:
web服务架构是基于标准的集成方法,web服务规范使相应的技术能够有效地跨平台。而布置web服务架构之前,必须得注意SOA基础结构的搭建。图3通过SOA的基础部件WSDL,UDDI,SOAP,然后使用一种常用的应用程序开发平台,再利用web服务规范来形成所有数据与服务之间的数据调试。而这一切都是在业务规则引擎的控制下完成的。
3.3 BPO业务流程中服务中心的建立,更专业
为用户提供的所有具体业务都是在服务中心中调用相关的服务完成,所以服务中心的建立是整个系统结构中最重要的一点。
BPO的服务中心只涉及本企业对外提供的服务,应该先分析需要实现的业务,并为每一个业务建立自己的模型,如图4所示,每一个业务都是独立的。分别为其分析业务模型。然后将每一个业务确立成一个个的具体业务服务点;再将所有业务服务点所提供的服务建成一个全局的服务模型。其服务模型如图4所示:
所有服务中心的总和就是全局的服务模型。此时再按照各个系统平台的业务承载能力,将不同的“服务”分配到不同的服务器。最后由业务规则引擎统一进行提取、重组。
4 总结
本文主要提出了基于SOA系统架构的BPO业务流程布署涉及到三个要点:整体服务服务框架的搭建、服务耦合机制的设置、服务中心的创建。基于SOA系统架构的BPO业务的主要思想就是将核心业务分解为小的“接口”,对各种平台进行兼容测试。再在用户提出需求时,合理地使用已经编制好的“接口”,通过特定的服务平台快速,高效的完成用户需求。基于SOA系统架构的BPO业务流程较复杂,在处理单一事件时,可能执行速度较慢,但是他的优点在于能灵活,快速地处理大量事务。且能快速利用已有服务扩展新的服务。
参考文献:
[1] 李建华,陈松乔,马华.面向服务架构参考模型及应用研究[J].计算机工程,2006(20).
[2] 陈桂鸿.基于SOA和工作流技术的图书馆集成信息平台研究[J].图书馆学研究,2009(6).
[3] 赵亮,姚青.基于SOA的可变业务流程管理系统[J].计算机工程与设计,2010(04).
[4] 潘庆锋 关于SOA电力信息系统集成平台的研究与方案[J].北京电力高等专科学校学报:社会科学版,2012(24).
[5] 江虹.浅谈基于SOA的企业信息化架构总体规划的意义[J].中国科技纵横,2012(22).