在电子政务领域内,SOA应用架构宜采取往复渐进的方式来部署架构更改,有“自上而下”和“自下而上”两种方式,路径包括基础SOA、网络化SOA和流程支撑的SOA三个扩展阶段。
做电子政务的SOA应用架构设计,首先要根据业务需要,通盘考虑SOA架构;其次局部地以渐进方式部署;再次就是构建完整的SOA架构系统。
面向服务的架构是一种IT策略,它将电子政务应用系统中包含的分散功能组织为可互操作的基于标准的服务,这些服务按照业务需求可以快速组合和重用。
宜渐进式部署SOA
只有平衡了政务服务的长期目标与短期需求,SOA的益处才会显现出来。在开始采用SOA时就指定一组组织、资金、操作、设计和交付准则,就可保持这一平衡。但“大爆炸”式的方法是不可取的,应按照循序渐进的学习曲线,选择一种往复渐进的方式来部署架构更改,这非常重要。
首先要根据业务需求,通盘考虑需要的SOA架构;其次是从一个局部做起,以渐进的方式向 SOA架构演进,避免大而全的SOA实施,这样可以最大程度地规避项目风险,降低初期投入;再次就是在局部成功实施的基础上,构建完整的SOA架构系统。
到具体部署架构更改时还有“自上而下”和“自下而上”两种方法。前者是自顶层向下,从业务逻辑开始;后者是从底层开始,直接去做代码的编写,然后再考虑如何在上层支持业务逻辑,最后再将其构建成为完善的SOA。
在SOA诸多成功案例中,大多通过分布式、基于标准的途径实现。其中最主要的特点就是政府可以渐进式地采用SOA。用户根据应用系统的发展情况确定要使用规模,从非常小的局部开始,最后再扩展到整个系统的应用中,不断向大规模SOA演进,获得很大的灵活性。这样做的目的很明显,那就是要降低客户初期以及大规模实现SOA的成本。
三个扩展阶段
应用架构设计路径图定义了基础SOA、网络化SOA和流程支撑的SOA三个扩展阶段,以描述SOA的三个不同成熟级别。
基础SOA
基础SOA包含基础层和企业层。层的分离可帮助单个应用程序定义合理的高级结构,并支持两个或多个应用程序共享业务逻辑和实时数据。基础SOA是一种简单方法,却为大型机构应用程序环境提供了一个强大的平台,比当今的许多现场环境迈进了一大步。
基础SOA的主要特点是它作为企业应用程序环境的有效基础,非常简单,从技术角度讲,易于实现,是SOA的合理出发点,为在后期引入更高级扩展阶段奠定了基础。因为应用程序前端依然非常复杂,它必须负责控制业务流程,并全面执行与后端的集成。基础SOA共享的服务基本上消除了数据重复(企业应用程序集成)。
网络化SOA
接下来的扩展阶段是网络SOA。网络SOA负责处理后端复杂性,并完成技术和概念集成。它有一个中介服务层,包括外观、技术网关、适配器和添加功能等服务。
外观有多种用法,但其最重要的作用是提供一个集成API,使客户端更方便地使用基本层的功能,以隐藏底层基础服务的复杂性。技术网关允许将一种服务方便地运用于不同技术环境。适配器适用于集成场景,能填补服务与其客户之间的概念沟壑。在最简单情况下,适配器映射签名,并转换参数。事实上,企业架构的复杂性大多都源于架构不同部分对相似实体不尽相同的处理方式。适配器是一个极有效的工具,允许按SOA范例集成应用程序。
网络化SOA能对应用程序前端隐藏后端系统的复杂性,能在独立于底层技术的情况下,灵活地集成软件。
流程支撑的SOA
第三个扩展阶段是功能完备的SOA。流程支撑的SOA的一个关键特性是在以流程为中心的服务中维护流程状态。
与中介服务类似,以流程为中心的服务既是SOA的客户端,也是SOA的服务器。这两种类型服务的主要区别是,以流程为中心的服务是有状态的。 这是一个重要的差异,因为对于服务器端软件而言,处理状态是一个重大问题。在以流程为中心的服务中封闭流程状态后,可简化应用程序前端,使其成为轻量级部件。精心处理用户会话,可使其用户界面更友好。
流程化的SOA能使应用程序前端成为轻量级元素,能封装业务流程的复杂性,并处理它们的状态;封装后端系统的复杂性,将流程层中的流程逻辑从以下代码类型分开,用程序前端的对话控制。它是基本服务的核心业务逻辑,处于顶级扩展阶段,实现难度比其他扩展阶段更大,需要集成复杂流程高度独立的组织和实现。