SOA架构设计模式案例分析
摘要:这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。与之相反,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。
关键词:连接;协作;交互;服务
SOA architecture design pattern for case analysis
Absrtact: this feature with a neutral interface definition (no mandatory binding to a particular implementation) is called loose coupling between services. the benefits of a loosely coupled system have two points, one is its flexibility, and the other is that it can continue to exist as the internal structure and implementation of each service that makes up the entire application gradually change. In contrast, tight coupling means that interfaces between different components of an application are closely linked to their functions and structures, and thus they appear vulnerable when some form of change is required for some part or the entire application. A need for SOA arises from the need for industry service IT systems become more flexible to accommodate changes in the business. By allowing strongly defined relationships and specific implementations that remain flexible, IT systems can take advantage of the functionality of existing systems while preparing for later changes to meet the need for interaction between them. The need for SOA stems from the need to make the business IT system more flexible to accommodate changes in the business. By allowing strongly defined relationships and specific implementations that remain flexible, IT systems can take advantage of the functionality of existing systems while preparing for later changes to meet the need for interaction between them.
Keywords: connection; collaboration; interaction; service
一、项目概述
1、现有应用系统的分布及相关问题
(1)形成信息孤岛
业务系统分散,相互独立,系统间缺乏联动,彼此之间无法形成信息传递,各个单独的业务支撑系统形成了一个个信息孤岛。
(2)资源无法共享
各个系统之间很多数据是相互关联的,甚至是重复的,使各个系统的数据丧失了唯一性和完整性;数据格式不统一、不能得到充分的共享 ;
(3)BOSS负担重
BOSS系统支撑的核心业务多,流程复杂,中间处理环节庞杂.,越来越多的业务需要BOSS系统来支撑,且地市还是以传统的点对点方式调用BOSS提供服务,给BOSS系统带来大的压力。
二、相关技术
1.连接服务
连接服务又称连通服务,是面向服务架构的骨干,在完成服务的接入,服务间的通信和交互基础上,还提供安全性、可靠性、高性能的服务能力保障。连接服务的一个典型实现就是企业服务总线(Enterprise Service Bus,ESB)。
2.协作服务
协作服务通常由通信代理和Web服务代理两部分组成。通信代理与连通服务中的通信代理实现内部有效的数据通信,Web服务代理与外部的公共注册中心交互,注册本平台对外开放的Web服务以及查找所需要访问的外部Web服务。协作服务既可以实现组织之间(如供应链的合作伙伴之间)的交互通信,也可以实现组织内部(如跨地域的分支机构之间,并有防火墙进行保护的情况)之间的交互通信。
3.业务服务
业务服务指为新建服务提供的特定运行支持环境。新建服务包括单个服务以及合成服务,不包括流程化的服务。合成服务一般由应用编码实现,它可以调用其他的服务(包括:单个服务、合成服务和流程化的服务)。业务服务与连通服务相联接,其中的新建服务与其他服务的通信和交互通过连通服务来实现。业务服务的运行信息由运行管理服务保存,业务服务也接受并执行运行管理服务的管理和控制命令。
4.业务流程服务
流程服务是业务流程的运行环境,提供流程驱动、服务调用、事务管理等功能。流程服务是为业务流程的运行提供的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身也可视为服务。
5.交互服务
交互服务实现人与服务之间的交互功能。人可以是服务的消费者,也可以是服务的提供者。人不能直接消费服务,也不能直接提供服务,需要通过相应的程序实现代理操作(即人通过操作程序实现与服务的交互)。交互服务就是需要提供一组完整的功能,以实现人与服务的交互,并能够方便地进行交互。人员需要请求服务时,向连通服务发送消息请求,由连通服务查找服务,并将请求消息传递给服务提供者。
6.信息服务
信息服务特指为上层应用系统、同层的其他服务等提供数据访问及资源访问服务。其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。
三、可实现的效果
1、两级联动平台架构
建设省级平台,实现全省业务的支撑管理;建设地市公司平台,承载地市本地化业务,支撑地市公司业务开展。
2、开放高效
向地市业务生成提供统一承载平台,减少了业务生成的条件限制;丰富的通用接口组件等功能,开放的服务总线设计,提供业务上线的良好外部条件;通过规范管理、调动地市公司积极性。
3、集中管理
统一门户,实现系统单点登陆管理;统一业务管理、统一数据分析、统一规划建设、管理流程化管理,避免地市业务的重复建设;通过规范管理和通用功能组件,对部分BOSS系统业务进行预处理、减轻BOSS负担。
四、结论
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。
参考文献
网上文献:
[1] 张建斌.https://wenku.baidu.com/view/7df3f0f8b0717fd5360cdc62.html,2014
[2] 百度百科.https://baike.baidu.com/item/SOA/2140650?fr=aladdin