从概念到尝试 解读SOA不同的应用模式
 

2009-03-27 来源:网络

 

随着SOA技术的不断完善,SOA理念与技术实践开始日趋深入。从国内整体市场看,越来越多的政府机构和企业已经跨过了对SOA的价值及重要性的认知阶段,开始从概念普及、局部尝试准备进入到大规模应用阶段。但是,如何基于国内的SOA需求环境让SOA真正落地,如何在各行业构建满足SOA特征的应用成为目前我国软件企业与服务提供商面临的一大难题。

只有SOA的应用模式被深刻理解,SOA应用推广工作才会有据可依,基于国内各行业的实际业务类型,重点探讨一下SOA的应用模式。

软基础设施

从软基础设施的角度,SOA的应用可以分为利用信息资源目录梳理业务活动和业务对象的应用模式,以及建立业务主题库的应用模式两类。利用信息资源目录梳理业务活动和业务对象的应用模式用于梳理业务以支撑基于SOA的应用; 建立业务主题库框架的应用模式则主要是阐述如何建立业务领域的主题库,基于这种应用模式可以建立多层次、分布式应用系统的基础库。

信息资源梳理的目的在于方便部门间的资源共享和业务协同,因此宜将政务部门的组织结构、部门职责作为梳理的起点,把各部门的业务活动作为信息资源梳理的脉络,把业务对象和业务流程作为信息资源的关键点,把业务活动之间的关系作为寻找和判断信息资源如何共享和协同的依据。

对于政务部门,信息资源主要包括基础信息、结构化业务数据、非结构化业务数据和应用资源等。此分类只是资源的外在表现形式,而如何利用这些资源形成完整的服务则是一项需要研究的内容。通过分析可以建立起相对完善的资源梳理和服务目录,完成以下工作:

1. 业务活动梳理、编目及查询;

2. 业务活动之间的关系梳理、编目及查询;

3. 基础信息维护、编目及查询;

4. 结构化业务数据维护、编目及查询;

5. 非结构化业务数据维护、编目及查询;

6. 应用资源类维护、编目及查询。

完成上述过程的梳理和资源分类只是一个起点,还要利用SOA理念,将梳理的结果以服务的形式体现出来,才能最终为业务应用提供最直接的帮助。事实上,梳理的过程和基于梳理结果建立服务的过程也就是搭建政务应用基础设施的过程,有了基础设施就有了业务应用的完整地图,业务流、数据流就可以按照指定的方式运行。

资源共享应用模式

从软基础设施的角度对电子政务领域的信息资源目录进行了梳理,建立了以组织架构、职责、业务活动、业务对象、业务流程为内容的目录体系,并基于这个目录体系形成了服务体系,就可以依据这些软基础设施进一步构建具体的资源和服务。这些资源可以通过服务的模式对外共享,任何需要这些资源的机构和个人都能拿到所需要的资源。

资源的有效共享依赖于三个方面: 一个是资源本身的描述,另一个是资源本身的实际存储方式,最后是资源的提供方式。

资源本身的描述和逻辑集中有赖于基于元数据的资源描述,逻辑集中就是将资源的描述以目录的形式进行统一存储; 资源的物理存储方式依赖应用构建前期对数据的规划,此层的变动只会影响资源的物理层面特性,并不影响其服务的特性,因此原有的对应用层限制最大的数据层,通过目录的统一服务变得非常灵活而有弹性; 最后,资源的提供方式则是基于前两个方面的服务方案,资源共享以服务的形式体现。

业务协同应用模式

不同机构的业务办理都有可能依赖于其他业务,而业务本身的办理又通常需要资源的支撑,资源本身的负责方或许是本单位,也可能是其他单位,信息资源的共享应用模式解决了第二个问题,而第一个问题也通过对业务的梳理为业务协同建立了完整的指导。如何实现这些业务的协同是SOA在这种应用模式下的重点。在这种应用模式下,完成业务协同包括三个步骤:

第一步: 业务处理服务。

业务处理服务源于对组织内或组织间业务活动的分析,组织内的业务处理服务可以直接基于业务活动抽象的用例来构造; 组织间的业务活动一部分来自于业务活动的分析,另一部分来自于资源共享的需求,近而依据这部分需求建立起共享的服务。

第二步: 业务流程服务

业务流程服务源于组织内各部门间或组织间的业务关系的分析,通过建立业务的前置关系、后置关系从而形成业务流程,依据业务活动间的关系建立起对外提供的业务服务。

第三步: 服务查询检索

服务查询检索主要是供外部用户明确了解组织提供了哪些服务、具体的服务内容是什么以及如何获取和使用这些服务。

服务查询检索依据信息资源目录,信息资源目录清晰梳理了客户的业务,但如何提供这些业务,则需要通过服务去实现。通过服务定义和服务描述,建立了关于服务的完整描述,使用者可以基于这些描述的任一方面对服务进行检索。

最后通过服务检索查询的功能开发定义明确的交互界面,用户可以通过交互界面查询定位所需的服务。

不同服务渠道的应用模式

服务的灵活性和可扩展性是SOA的主要特性之一,电子政务的一个重要特性是强调服务,因此整合不同服务渠道也是重点之一。

SOA在应用与业务之间加入一个服务层,解决了原有的系统建设通常不会建立服务层完成系统间的调用,而是直接调用下层其他应用或者采用数据共享的方式,从而避免直接访问下层其他应用。另外,在大多数机构中,存在不同的应用和技术共存,由于这些应用提供的功能都是特定的,要在应用间共享信息最好的解决方案是转向一种面向服务的架构和Web服务,即在业务层之上加入一个服务层。

当数量众多的业务应用需要使用Web服务技术集成在一起的时候,可以进一步采用企业服务总线(ESB)的架构来管理这些可复用的应用组件,从而可以实现更加清晰地管理所有政务系统中所包含的可复用信息资产。

虚拟数据中心的模式

SOA还有种应用模式是基于虚拟数据中心的模式,也就是忽略数据在不同节点的部署而集中提供服务。如果要在单节点上提供虚拟数据中心,可以建立非分布式目录中心用于提供虚拟中心服务; 如果在多节点上建立虚拟数据中心,即跨节点的虚拟中心,需要建立分布式目录中心用于提供虚拟中心服务。

总之,通过SOA应用模式分类体系的研究,可以更好地帮助用户理解SOA的应用类型,并结合SOA架构的优势,确定业务下一步建设的方向。同时,指出传统软件开发方式的解决方案以及带来的局限性,明确SOA在这些方向的应用前景,并为基于SOA解决各种不同类型的问题提供独立于各种应用、领域、平台与标准的解决方案,从而真正起到指导电子政务各类应用实施推广的作用。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织