• (课)面向服务架构设计及应用


    摘要:这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。与之相反,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。

    关键词:连接;协作;交互;服务

    Service oriented architecture design and application

    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、业务背景

    2006年开始,广东移动业务支撑中心为了了解目前各地市公司BOSS系统无法完全统管的个性业务发展状况,进行统-调研,对各地市公司现有业务、用户数量、支撑力度等方面进行调查,发现各地市公司为了发展新的业务建设了一些独立的业务支撑系统,这些系统在某些方面对提高业务处理效率起到了积极的支撑作用。但是,随着业务支撑应用系统数量的增多,这些各自分散、相对独立的业务支撑应用系统也逐渐暴露了一些问题。

    2、现有应用系统的分布及相关问题

    1)形成信息孤岛

    业务系统分散,相互独立,系统间缺乏联动,彼此之间无法形成信息传递,各个单独的业务支撑系统形成了一个个信息孤岛。

    (2)资源无法共享

    各个系统之间很多数据是相互关联的,甚至是重复的,使各个系统的数据丧失了唯一性和完整性;数据格式不统一、不能得到充分的共享 ;

    (3)BOSS负担重

    BOSS系统支撑的核心业务多,流程复杂,中间处理环节庞杂.,越来越多的业务需要BOSS系统来支撑,且地市还是以传统的点对点方式调用BOSS提供服务,给BOSS系统带来大的压力。

    (4)管理分散

    全省21个地市公司,每个地市公司都有自己-套独 立的对业务支撑的流程或管理办法,省公司无法通过合理的方式形成有效的统一管理。

    3、最终目标

    1)高效率

    一站式申报流程;服务集中管理和共享;经验推广

    (2)可管理

    统一Portal,单点登录;规范系统和服务建设流程;承担BOSS一部分功能。

    二、相关技术

    SOA技术参考架构主要描述SOA基础技术平台与辅助工具,同时描述这两部分与其他外围相关元素之间的关系。SOA技术参考架构将服务分为6类,具体描述如下:
    1. 连接服务
    连接服务又称连通服务,是面向服务架构的骨干,在完成服务的接入,服务间的通信和交互基础上,还提供安全性、可靠性、高性能的服务能力保障。连接服务的一个典型实现就是企业服务总线(Enterprise Service Bus,ESB)。
    2. 协作服务
    协作服务通常由通信代理和Web服务代理两部分组成。通信代理与连通服务中的通信代理实现内部有效的数据通信,Web服务代理与外部的公共注册中心交互,注册本平台对外开放的Web服务以及查找所需要访问的外部Web服务。协作服务既可以实现组织之间(如供应链的合作伙伴之间)的交互通信,也可以实现组织内部(如跨地域的分支机构之间,并有防火墙进行保护的情况)之间的交互通信。
    3. 业务服务
    业务服务指为新建服务提供的特定运行支持环境。新建服务包括单个服务以及合成服务,不包括流程化的服务。合成服务一般由应用编码实现,它可以调用其他的服务(包括:单个服务、合成服务和流程化的服务)。业务服务与连通服务相联接,其中的新建服务与其他服务的通信和交互通过连通服务来实现。业务服务的运行信息由运行管理服务保存,业务服务也接受并执行运行管理服务的管理和控制命令。
    4. 业务流程服务
    流程服务是业务流程的运行环境,提供流程驱动、服务调用、事务管理等功能。流程服务是为业务流程的运行提供的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身也可视为服务。
    5. 交互服务
    交互服务实现人与服务之间的交互功能。人可以是服务的消费者,也可以是服务的提供者。人不能直接消费服务,也不能直接提供服务,需要通过相应的程序实现代理操作(即人通过操作程序实现与服务的交互)。交互服务就是需要提供一组完整的功能,以实现人与服务的交互,并能够方便地进行交互。人员需要请求服务时,向连通服务发送消息请求,由连通服务查找服务,并将请求消息传递给服务提供者。
    6. 信息服务
    信息服务特指为上层应用系统、同层的其他服务等提供数据访问及资源访问服务。其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。
    三、问题及解决方案

    1、问题一:

    问题描述:在服务调用过程中,特别是涉及到服务大量并发调用的情况下,会出现一定的系统性能问题;

    解决方案:针对高并发、串行、非即时响应的服务实行异步调用;对并发的服务实行并发控制,如对单个服务和全局服务实行吞吐量限制;对超时服务丢弃;对非关键的服务实行短路.

    2、问题二:

    问题描述:外部服务调用通过ESB(企业服务总线)形式来完成。这其中影响性能的重要因素是,系统间通过WS( Web Service ,网络服务)进行交付时要封装的XML数据,以及对这些XML数据处理要占用大量资源。

    解决方案:通过future异步调用降低响应时间;并发的请求分担群集中各节点的服务上,以达到负载均衡的能力。

    四、成果总结

    1、两级联动平台架构

    建设省级平台,实现全省业务的支撑管理;建设地市公司平台,承载地市本地化业务,支撑地市公司业务开展。

    2、开放高效

    向地市业务生成提供统一承载平台,减少了业务生成的条件限制;丰富的通用接口组件等功能,开放的服务总线设计,提供业务上线的良好外部条件;通过规范管理、调动地市公司积极性。

    3、集中管理

    统一门户,实现系统单点登陆管理;统一业务管理、统一数据分析、统一规划建设、管理流程化管理,避免地市业务的重复建设;通过规范管理和通用功能组件,对部分BOSS系统业务进行预处理、减轻BOSS负担。

    4、信息共享

    形式灵活,对于共性业务,可以省公司统一规划建设,全省共享使用;对与挂业务应用的数据进行共享分析,提供跨应用的数据存储和搜索功能。

    五、结论

    面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

    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

  • 相关阅读:
    安卓反编译
    Icesugar Gourd
    php文件写入
    java 序列化与反序列化
    Toj Dominoes Game
    adb&frida
    Markdown 测试用例
    iview InputNumber类输入框表单验证失效
    01背包问题(回溯算法实现)
    阅读作业二读Lost in CatB有感 by 李栋
  • 原文地址:https://www.cnblogs.com/hwh000/p/12887656.html
Copyright © 2020-2023  润新知