SOA服务治理方案,营销管理服务中心成立

作者:betway必威官网登录

文章摘要:

面向服务的架构(Service-OrientedArchitecture,SOA)自提出到被普遍认可和接受,再到目前应用普及和成熟已有近20年时间,在领域的应用经历了WebService接口、企业服务总线(ESB)、服务管控等不同发展阶段。目前云计算、流程银行等新概念又给了SOA更广泛的发展空间。国际权威机构Gartner认为,SOA是大型企业信息现代化的根本。

服务Service

就是默默运行在后台的组件,可以理解为是没有前台的activity,适合用来运行不需要前台界面的代码

服务可以被手动关闭,不会重启,但是如果被自动关闭,内存充足就会重启

为更好地服务客户,树立公司品牌形象,营销管理服务中心于今天正式成立,提供业务和技术咨询,欢迎广大新老客户致电,承诺18小时内予以回复。服务热线:0311-89252628 /80813188

当前,国内众多大型企业经过多年的持续建设,ESB、BPM、ECM等众多基础技术平台建设和集成架构体系日趋完善,打造了比较完备的SOA基础设施。但是相应的服务体系还相对滞后,未能发挥出SOA基础设施的真正价值,具体主要表现为:1、偏重于技术集成而非服务集成,系统间以交易接口互联,普遍存在同类接口重复开发的现象;2、应用系统缺少有效方法知道有哪些可用服务,以及如何获取和使用这些服务。同时企业对SOA价值也认识不足,缺少必要的服务治理工具。因此,通过开展SOA治理,优化集成架构,建立企业服务体系,为业务系统提供更丰富的业务和技术服务,是落实企业总体架构目标、推动业务可持续发展的必由之路。

开启服务的两种方式

服务对象是不可以被new滴,只能依靠系统来创建服务对象

  • startService()
    • 该方法启动的服务所在的进程属于服务进程。
    • 服务一旦启动,服务便和活动没有关系
  • bindService()
    • 该方法启动的服务所在的进程不属于服务进程。
    • Activity与服务建立连接,服务与启动它的Activity同生共死
    • 任何一个服务在整个应用程序范围内都是通用的,单例设计模式,一个服务可以和多个Activity绑定
    • 绑定服务和解绑服务的生命周期方法:onCreate->onBind->onUnbind->onDestroy

SOA服务体系应包括服务标准和规范、服务生命周期治理、服务治理平台和工具三个方面。

活动和服务进行通信

使用startService()方式启动服务,服务是不能和活动进行通信,必须使用bindService()方式启动服务(活动和服务进行绑定),才可以实现活动和服务进行通信

  • 调用bindService (Intent service, ServiceConnection conn, int flags)方法将活动和服务进行绑定,此绑定方法有三个参数

    • Intent service:Intent意图对象

    • ServiceConnection conn:活动和服务的连接对象ServiceConnection

    • int flags:一个标志位

      Intent intent = new Intent(this, MyService.class);
       bindService(intent, conn, BIND_AUTO_CREATE);
      
  • 实现ServiceConnection接口,创建一个子类,实现接口的两个方法:onServiceConnected(ComponentName name, IBinder service)onServiceDisconnected(ComponentName name)

    • onServiceConnected(ComponentName name, IBinder service):服务连接成功时,此方法被调用

    • onServiceDisconnected(ComponentName name):服务失去连接时,此方法被调用

      class MyConnection implements ServiceConnection{
      
          @Override
          public void onServiceConnected(ComponentName name, IBinder service) {
              //绑定服务时,返回的Binder对象
              broker = (Broker)service;
          }
      
          @Override
          public void onServiceDisconnected(ComponentName name) {
      
          }
      

    }
    ```

  • 调用bindService()方法将活动和服务进行绑定,绑定的服务类中的public IBinder onBind(Intent intent)方法会被系统调用,传入的参数是绑定给服务的Activity,方法返回的是一个IBinder对象,此对象可通过连接对象中的onServiceConnected(ComponentName name, IBinder service)方法的参数IBinder service向下转型得到,通过此对象就可以实现活动和服务进行通信

    class Broker extends Binder{
        public void work(){
            money();
        }
    }
    

服务标准和规范:

两种启动模式的混合使用

使用startService()方法启动的服务所在的进程属于服务进程,但活动和服务并没有进行连接,也无法去调用服务里的方法;使用bindService()方法启动的服务所在的进程不属于服务进程,服务和启动此活动的服务同生共死,活动和服务进行了连接,可以调用服务内部的方法。

  • 两种启动方式混合使用,调用startService()是为了使服务所在的进程属于服务进程,调用bindService()是为了可以和服务进行通信

  • 先调用startService()方法创建并启动服务,再调用bindService()方法绑定服务,欲销毁时,先调用unbindService()方法解绑服务,再调用stopService销毁服务

用于指导项目组进行服务的分析设计开发测试等,包括服务必须遵循的技术标准和服务开发的步骤规范指南等,是应用系统作为服务提供者和服务使用者必须遵循的,保证服务在整个生命周期具有一致的统一的规范和技术标准要求。

服务标准和规范主要包括服务策略、服务技术标准、分析设计原则和服务开发步骤规范四个方面:

1、服务策略是实施服务治理的基本原则和指导方针,在技术和组织层面定义了那些做法是正确的。一般的服务策略包括服务安全策略、服务的互操作性、服务的质量和等级协议策略、服务的语义数据和schema治理策略、服务可靠性策略、服务版本策略。

2、服务标准主要包括:XML Schema标准、WSDL标准、SOAP标准、命名空间标准、报文编码标准等。

3、服务分析和设计遵循面向服务架构的设计原则,包括:标准化的服务契约、服务松耦合、服务抽象、服务可重用、服务自主性、服务无状态、服务可发现、服务可组合。

4、服务开发规范即SOAD规范,主要包括服务分析(分析业务需求、找出自动化系统、识别功能需求、识别候选服务)、服务设计(组合SOA、设计具体服务)、服务实现(服务开发、服务测试、服务部署)三个主要步骤。在进行 SOAD 开发时,一般建议采用迭代的方式进行开发。

服务生命周期治理

参考共享服务生命周期(Shared Service Lifecycle,SSLC)模型,完整的服务生命周期包括服务识别、服务设计、服务实现、服务发布、服务部署、服务管控、服务优化七个阶段。其中,服务识别、服务设计、服务实现属于设计期;服务发布、服务部署、服务管控、服务优化属于运行期。服务分析阶段包括需求识别和计划,以及对服务的评估和演化。

服务治理是对服务全生命周期的管理过程,可分为服务设计期治理、服务运行期治理和持续治理三种类型。

服务设计期目标和原则:1、信息管理方面包括:架构解决方案审查、服务设计审查、开发到测试的审查、测试到交付用户的审查、对服务签发认证、确保共享、提供生命周期管理、确保服务是可发现的;2、策略管理方面包括:策略定义、策略关联应用、策略执行;3、合约管理包括:合约定义、商谈、合约合法性;4、质量管理包括:标准化的服务质量协议。

服务运行期目标和原则:1、系统记录:确保和记录在运行期间不同应用或组件之间的信息交换;2、服务管理系统:控管和配置服务以及运行阶段的各种组件、根据异常状况重新配置环境;3、服务监控系统:采集运行阶段的指标、在环境中提供可视化的图表显示;4、服务质量保证系统:增强通讯中的消息和运行阶段的策略、安全性、可靠性、事务性、稽核等。

持续治理目标和原则:1、服务资产管理:评估和分析服务仓库、识别服务可重用的机率、协助进行资产整合、减少冗余的服务功能。

服务治理协作描述了在服务提供方、服务治理平台(管理和监控)、服务请求方之间,建立规范的服务生命周期管理流程,明确各方的职责分工,为服务使用和管理的提供指导。

服务治理平台设计

服务治理平台是保证实施有效的服务治理的技术平台工具和环境,它从策略、标准、步骤、指数等多个方面体现和包含了服务治理的过程,是服务体系架构实施服务治理的重要支撑工具和平台。

服务治理平台包括4个主要部分组成:服务存储库(Repository)、服务注册库(Registry)、服务运行监控和服务数据接口。

服务存储库主要包括服务资源管理、策略管理、系统记录三大部分,其中服务资源管理是对在服务设计期间产生的资源文件(WSDL、Schema、Policy、SCA等)进行上传、下载、编辑、管理、分析等;策略管理是对服务在设计期间的交付物做校验和检查的依据管理,对服务运行期间的安全、可靠、事务性、SLA等进行规范和策略模板的定义和管理;系统记录主要包括对各种日志信息的管理,涉及消息、性能、事件日志等。

服务注册库主要包括服务注册、服务查找、服务生命周期管理。服务注册包括对服务提供者注册、服务请求者注册、服务信息的注册和维护;服务查找能够校验相似服务、根据查询条件展现服务信息及其依赖的资源;服务生命周期管理包含服务版本管理、服务状态维护和/降级等。

服务运行监控主要包括:系统管理、监控管理、指数统计分析。系统管理用于对使用平台的用户、及其角色、相关授权进行管理;监控管理包括对服务提供者监控、服务日志或异常信息监控、服务事件信息的监控、对出现异常信息的监控规则以及通知反馈信息的管理;指数统计分析包括服务的SLA指数、QoS指数、以及体现其他重要的指数信息的统计分析等。

服务数据接口包括服务资源接口、服务策略接口、服务监控信息推送接口、统计分析记录接口。服务资源接口用于提供给服务请求方,根据该接口获得服务的基本信息、服务相关资源等,是服务提供方给服务请求方请求服务的契约文件;服务策略接口包括服务SLA和QoS等信息,服务提供方和服务请求方都需要通过该接口获得服务的相关契约和策略,从而保证服务提供方能够按照注册服务时约束的策略进行处理,服务请求方能够根据接口使用满足要求的方式请求服务;服务监控信息推送接口提供给服务提供方,要求服务提供方按照此接口提供服务相关请求日志、异常故障等统计监控信息,并将这些信息推送到服务管理平台;统计分析记录接口是服务管理平台的接口,可以提供给外部系统使用查看浏览服务相关统计分析情况等。

本文由必威中文官网发布,转载请注明来源

关键词: