集成:价值网络时代的整合者
(集成的目的就是将整体中的各个部分粘合起来, 借助业务服务,可以实现对业务过程、信息、应用、数据、技术等元素的有效集成)
从企业战略到生产再到运营是一个非常复杂的系统工程,为了解决这个复杂问题,通常采用分而治之(英文为divide and conquer)的方法,通过对业务过程、数据模型的分层分类,使得企业能够灵活、快速地响应外部市场的变化。
当问题域的被分解后,无论是对业务需求还是信息系统,都带来了另外新的问题,那就是模块之间的集成问题,即如何把这些独立的模块有效地集成起来,以满足特定功能的需要。集成框架的目标就是解决这些问题的。
业务层面的集成
为了解决集成问题,可以采用业务服务(Business Services)的方式,将业务过程、信息、应用、数据、技术几个框架中的元素集成起来。
集成框架中的基本元素就是服务,每个服务可能是一个原子服务,也可能是一个组合服务,每个服务可能有自身依赖的服务,也可能作为其它服务的输入,多个服务以价值链思维为导向,可以直观、准确地描述一个业务,可以很好地适应外部需求变化。
按照服务的性质,可以将服务分为三种类型:以任务(task)为中心的服务、以实体(entity)为中心的服务和以效用(utility)为中心的服务。以任务为中心的服务是从动态角度定义服务,比如“融合业务订单处理”就是一个以任务为中心的服务;以实体为中心的服务是从静态角度定义服务,比如客户资料查询、账单、详单查询等,都是以客户、账户等业务对象为中心的,因此可以称为以实体为中心的服务。此外,有些服务并不是业务角度能够确定的,这些服务是为了更好的支撑业务的实现,属于公共服务,比如日志服务、异常处理服务等,这些服务就是以效用为中心的服务,相当于任务服务和实体服务的公共设施(utility)服务。
服务描述包括服务的内容、性质、生命周期等,如果具有技术限制或要求,也需要描述服务实现的技术手段。服务表达公式为:服务描述=服务名称+服务类别+依赖服务+支撑服务+服务周期+技术依赖。举例为:融合业务订单处理服务=融合业务订单处理+以任务为中心的服务+融合业务订单接收服务+融合业务订单回笼服务+1年+JDK5.0。业务服务从定义到实现的过程如图1-7-1所示:
图1-7-1 业务服务从定义到实现的过程
从图1-7-1可以看出,业务服务是集成的核心元素。业务服务分别来自于以任务为中心的业务过程框架、以实体为中心的信息框架以及以效用为中心的应用框架。当业务服务设计完成后,就可以进行组件的定义和接口的定义了,组件主要用于信息系统内部,组件需要遵循SCA(服务组件架构)和SDO(服务数据对象)规范,接口用于信息系统之间的集成。当完成组件和接口的定以后,就可以进行代码的创建、软件开发、测试等后续实现过程了,最终形成满足业务需求的信息系统。
集成框架以业务服务为中心,一方面是为了构建面向服务的企业,另一方面,采用价值链思维,使得企业可以柔性地适应外部环境,与其他企业进行平滑地对接,快速灵活地适应外部市场变化。
技术层面的集成
技术总是不断发展变化,上文中为了解决因为技术变化提出了采用业务服务集成的办法,尽管如此,集成问题最终还要体现在信息系统之间的集成,也就是技术层面的集成。
当然,如果企业只有一个系统就并不存在系统之间集成的问题,但是企业为了提升扩展性和灵活性,通常规划并建设了许多信息系统,这些独立的信息系统分别承载不同的功能。某个业务往往需要通过多个信息系统之间的集成才能实现。比如,电信运营商为了完成某个业务的开通,往往需要集成多个信息系统,比如电子渠道系统、客户关系管理系统、综合计费账务系统、服务开通系统、资源管理系统。将应用分解到多个独立系统最大的好处就是不会因为某个小的功能改变而重新构建所有信息系统,这样可以提升系统的灵活性。
信息系统之间集成有很多具体的实现方式,包括Ftp、Socket、WebService、DBLink等,既可以采用企业内部私有协议,又可以采用公共协议。Ftp协议的优点是简单、高效,通常用于信息系统之间批量传送数据文件,缺点是数据质量和数据安全难以保证。如果信息系统之间为单个接口、少量数据的调用,则通常采用Socket或者WebService等接口方式,由于WebService为标准化的接口调用方式,实现方式具有与底层实现平台的无关性,因此更容易实现异构(不同操作系统)之间的集成,但是这种跨平台性也是采用在原有协议基础上增加Header为代价的,相对于Socket接口方式增加了更多的打包与解析动作,进而而花费了更多的资源与时间,因此接口效率上会差一些,对于那些实时性较高的应用可以考虑采用Socket等私有协议。
当然,网络质量、设备可靠性、应用程序健壮性等因素可能引起数据丢失、安全性、可靠性降低等问题,进而影响到业务提供的质量,因此需要采用一些手段来消除以上不足,比如定期的数据稽核、数据审计等,对传输失败的数据进行重传,最大限度地消除因信息系统集成带来的问题。
随着技术架构的不断发展变化,最近业界提出了“平台+应用”的架构模式,这种模式将多个信息系统公用的支撑功能转移到平台上实现,这样可以基于平台提供的基础功能快速构建新型应用。“平台+应用”模式的典型代表为苹果应用商店(App Store),全社会的开发者只要遵循评估公司制定的开发规范,在苹果公司的软件开发工具包的支持下,就可以自行开发创新型应用,并将其发布到苹果商店之中,这种软件架构模式大大激发了全社会开发人员的积极性和创造性,是对创新能力的进一步释放,是软件开发模式的又一次革命。同样,“平台+应用”的架构模式也无需像支撑单个应用的竖井式信息系统因为系统间集成带来的风险,而是将系统之间集成的工作转移到平台层面,通过平台来保障信息交换的可靠性和安全性,大大提供了应用推广的速度和质量。