面向SOA服务架构的案例分析的研究
随着互联网应用的不断发展,网络业务的种类、数量不断增加,计算机网络管理的研究重
点正在由过去的个别资源监控、应用可用性阶段,向着如何通过网络获得所需业务、业务流程的优化、保障业务服务水平方向发展.但这并不意味着可以完全抛弃传统的已有的网络管理,
重新开发面向业务的网管;相反,传统网管是实现有效的业务管理和保证业务过程、业务质量
的基础[1].但是传统的网络管理以集中式 半分布式的M A模型为主,网络只被动传送数据,
中间节点对数据语义不作分析,计算与管理功能十分有限,无法适应业务管理的需求.因此如
何在传统的面向设备的网络管理基础上增强和扩展面向业务的管理功能有着重要的研究价
值.
近两三年来,国外很多机构开展了业务管理方面的研究[2-5],但这些研究成果大多是针对
电信网络展开的,研究成果并不能照搬至计算机网络.目前业务管理所面临的一个重要问题是
缺乏一个一致的体系结构框架,使其能够运行于各种异构基础平台之上,绑定各种基础业务单
元,跨越传统的管理域边界.面向服务的体系结构(SOA,service-oriented architecture)支持跨
企业和业务合作伙伴之间间的端到端集成,提供了一种灵活的业务流程模型,使得客户可以迅
速地响应新的顾客需求、新的业务机会以及竞争的威胁.IBM将面向服务的体系结构视为它
的按需业务前景的互操作性和灵活性的关键.
在现代计算机网络中,网络管理的研究重心从面向设备转向面向业务是一个必然的趋势.
面对复杂的业务种类,只有通过松耦合的分布式管理系统才能够实现对业务的有效控制和监
督,进而保障业务的服务质量.本文在深入理解面向服务的体系结构SOA的基础上,从体系架
构、功能模块等方面将传统网管与面向业务的网管进行对比,重点研究将传统网管迁移到面向
服务体系结构的业务管理过程中需要解决的若干关键问题,包括映射协议栈、扩展功能模块、
构建业务适配器等,同时提出一种新的基于Web服务的业务管理体系结构.
1 面向服务的体系结构SOA与Web服务
在过去的40年里,软件体系结构试图处理日益增长的软件复杂性.但是,复杂性仍在继续
增加,传统的体系结构好像已经达到了它们处理此类问题的极限.在很多情况下,问题在于缺
乏一个一致的体系结构框架,它能够装配组件和服务,以便快速甚至动态地交付应用程序.面
向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务
之间定义良好的接口和契约联系起来.基于面向服务的体系结构SOA构建业务管理能够适应
不断变化的业务环境,比如经常改变的服务策略、业务级别、业务重点、合作伙伴关系、服务质量参数以及其他与业务有关的因素.Web服务是一系列标准和正在发展中的标准,它们是由worldwide web consortium(W3C)设计和指定的,用来促进跨平台程序对程序通信.Web service作为实现SOA的一种方式,能够提供高层的业务描述、注册和发现机制,并进一步实现业务环境中的事务机制、安全机制和业务流程[7].从更高的概念层面讲,可以将Web服务视为一些工作单元,每个单元处理特定的功能任务,进而可以将这些任务组合成面向业务的任务,以处理特定的业务操作任务.
2 面向服务体系结构的业务管理中若干关键问题研究
本节将从以下几个方面探讨面向服务体系结构的业务管理中面临的关键问题,包括构建
基于Web服务的业务管理体系结构、映射协议栈、扩展功能模块、构建业务适配器等.
2.1 构建基于Web服务的业务管理体系结构
要实现网络管理模式由传统面向设备向面向业务转变面临着许多困难,首要问题是复杂
增刊朱海萍等:基于面向服务体系结构SOA的业务管理研究性:面对构建传统面向设备的网络管理已经投入了大量的人力和物力,考虑到有限的预算,替换的成本是高昂的.设计面向服务体系结构的业务管理框架的一个重要问题就是要求能够最大限度集成已有的网管功能,为面向设备的网管迁移到面向业务的网管提供开放的、易于扩展的接口.
2.1.1 体系结构
Web服务的概念和面向服务体系结构SOA方法为传统应用在Web上的可重用创造了机
会,主要体现在它能够使已开发的产品级应用作为Web服务使用.本文在深入了解Web ser-
vice概念体系结构的基础上[6],提出如图1所示的基于Web service的业务管理体系结构
(WSSM,service management based on web service).
图1 基于web service的业务管理体系结构WSSM
该结构包括类似Web服务的3个组件:业务提供者、业务请求者和业务注册中心.业务提
供者提交给UDDI注册中心编写的WSDL文件,包括了业务的描述、业务的规范、业务的级别与相关参数、提供的消费者管理功能.消费者在UDDI中心发现需求的业务,获得相应的WS-
DL文件,就可以访问Web服务器,获得相关的业务及对应级别的管理功能.
将传统网管迁移到面向业务的网管体系架构WSSM下的一个基本思路就是将传统网管
已有的一些功能模块(性能管理、故障管理、配置管理、计费管理和安全管理等)中的基本应用包装成Web服务并组织成为具有更高价值的服务,通过发布WSDL文件,在业务注册中心进行注册,从而演变成为可以在UDDI中心发现的业务.这里一个很重要的环节就是为了能够使Web应用服务器与网管服务器交互,必须为每一个传统网管应用模块开发相应的业务管理适配器(SMA,service management adapter).
2.1.2 业务管理适配器
业务管理适配器通常是一个连接到后端服务器的Java应用程序.这个连接可以是后端服
务器支持的任何通信连接,也就是说,它可以运行在TCP IP或高级程序对程序通信(APPC,
advanced program to program communication)协议连接的本机MQSeries通道.对于每个SOAP
服务请求,SMA负责调用一个后端网管应用.在一个SOAP请求会导致对一个或多个后端服
务器系统的多个请求的情况下,生成复杂的Web服务也是可能的.后端请求的组合结果被合
并成一个SOAP响应,这个SOAP响应接着被回传给服务请求者.业务管理适配器隐藏了调用
后端函数的复杂性,只要求指定执行一个服务时所绝对必需的参数子集.
2.2 协议栈映射
典型的基于Internet SNMP的网管体系结构由管理者Manager、代理Agent和管理信息
库(MIB)组成,M A之间的通信协议是简单网络管理协议SNMP.如果把WSDL看作一种管
理信息模型,把SOAP作为通信协议,对比SNMP协议栈与Web service协议栈,可得出如图2
所示的结论.该结论为传统网管向业务管理迁移提供了理论依据,可以很明显地看出Web ser-
vice作为面向业务管理中的一种管理思路是切实可行的.换言之,借鉴Web service成熟的思
想和理论,可以有助于从参考模型、管理对象等方面系统化地进行新一代网管系统的理论探
讨,为研究实现业务管理系统的关键技术提供一套行之有效的开发路线和方法.基于这种思
想,自行设计和开发了业务管理原型系统SMAS,实现了EMAIL、FTP、TELNET和一个自定
义业务.业务基本组件的主干框架如图3所示.
图2 Web service协议栈与SNMP协议栈图3 Internet业务基本组件
具体利用WSDL描述业务,用SOAP实现通信,用UDDI对业务进行发布,就可以解决现
今条件下对业务难以定义、难以管理的问题.WSDL提供了详细描述Web service核心功能的
标准机制,也提供了Web service在网络中的位置和获得的方法.如果把这种思想应用到业务
上来,利用WSDL语言,业务提供者能够提供请求其业务的客户的通用请求格式,用它来获得
业务.这样,参考传统的仅仅处于网络层和网元层的信息模型和通信模型,也就很容易得到在
业务管理层上的一个信息模型和通信模型.当然,针对上述提及的Web service协议栈与
SNMP协议栈的映射关系,还存在若干需要继续深入研究的地方,比所给出的映射较为抽象.
由于子层功能不确定,业务协定的内容也尚无法确定.另外,各层之间的交互,包括管理信息、
监测信息的交互,均需要有相应的通信标准,也即需要制定相应的层间协议.
2.3 扩展功能模块
从业务的角度来看网络管理的使用就引出了业务管理的概念[8].业务管理的研究主要集
中在设计业务的应用模型,业务管理研究的目标是提高网络管理质量[9].但业务管理毕竟与传
统面向设备的网管有很大区别,因此在设计功能模块时需要根据业务管理的特点对传统网管
进行扩展.主要体现在以下3点.
(1)业务管理视图
自动发现和生成网络拓扑是传统网管软件的基本功能要求,一般的网管软件都能够自动
增刊朱海萍等:基于面向服务体系结构SOA的业务管理研究发现联网的所有IP节点,包括路由器、交换机、服务器、PC机等,并自动生成拓扑连接,同时提
供按照网络节点所在的地理位置对网络拓扑图进行客户化.而面向业务的网络管理其管理对
象不再是普通的IP节点,而是网络服务和组合业务.因此,单纯的网络设备拓扑图是不能满足
需求的,而应该具有以每一个业务为核心节点的业务管理视图.该视图应为用户呈现出已有的
所有业务的运行状态以及彼此的关联.通过实时监测与网络业务相关的设备和应用、模拟客户
实时测量网络业务的服务质量、收集网络业务的业务数据,可以全面了解业务性能、业务流量、
服务质量,实现全方位、多视角监测网络业务运行情况的目的,帮助运营商提高服务质量
(QoS).
(2)服务级管理
性能管理作为传统网管五大功能之一,其核心功能是自动采集重要的网络性能数据,如
IP流量、带宽利用率、出错包数量、丢弃包数量、snmp流量等,生成各种报表和图形化的分析
报告,以帮助管理人员从大量数据中及时发掘出可以用作判断网络运行状况的数据.而作为业
务管理的一个重要体现业务等级约定(SLA, service level agreement)管理是业务管理中的一
项关键技术.SLA是服务提供者和客户之间的一个正式合同,用来保证可计量的网络性能达
到所定义的品质.业务管理的目标就是通过达到和超过在SLA中约定的QoS指标,从而确保
客户的满意度.而传统的网络管理过多地关注在被管理的网络和网元上,并没有针对SLA进
行有效的管理.在这种机制下,管理人员把关注点放在网络或网元的性能故障上,而不能针对
业务的具体特征进行监控和管理,从而不能及时发现整体业务性能的下降.面向业务的网管应
该提供服务水平管理的服务和相关报告,主要包括如下功能:
①依据服务水平协议(SLA)自动评估交付的服务,帮助业务提供者减少对交付的业务流
程服务进行评估和维护所需要的时间和精力;
②能够为SLA违规行为和违规趋势提供报警,主动地纠正服务水平中的问题并提高客
户满意度;
③提供一个服务水平多点监控的完整视图,避免对单点产品的报告结果进行大量人工相
关处理的需要.
(3)工作流管理
目前计算机网络领域业务管理存在的一个主要问题是不能整合客户资源和通信资源,不
能实现业务流程自动化和业务流程配置,同时,缺乏相应的业务流程规范和业务流模型.而电
信领域中关于业务流的概念与执行已经比较完善,一个典型的代表是eTOM(enhanced telecom
operations map).eTOM充分考虑到电子商务和Internet对业务环境的影响以及运营商业务关
系的复杂性,以TOM为核心将其扩展到整个的业务管理过程.eTOM业务流程框架和相关的
业务流程模型描述了流程及组成端对端的连接点,描述了运营、战略、基础设施与产品流程区
域中开通、保障、计费等客户运营流程流向.如何借鉴电信领域增强的电信运营图(eTOM)信
息和通信服务行业的业务流程框架,提出计算机领域的业务流程管理是需要解决的一个重要
问题.在这一方面,课题组已经取得了一些初步成果,如分解业务,定义业务核心元素之间的关
系和流程,明确业务生存周期的各个阶段主要功能等,但仍亟待进一步研究.
3 结 论
随着网络基础设施的不断完善和网络业务的迅速发展,传统的网络管理系统已不能满足人们对管理运行在网络之上业务的要求,对面向业务的新一代网络管理系统的需求日渐强烈.许多企业都在设法将它们的旧网管应用改造成面向业务的系统,Web服务技术的使用为这种改造提供了一个新的选择.本文重点描述了如何通过应用Web服务技术来构建基于SOA的业务管理系统,以及新的面向业务的网管系统应该扩展的功能模块和相应的协议栈映射关系.下一步研究工作的重点将围绕业务管理体系结构的细化,业务管理中的流模型和业务资源管
理以及如何提高Web服务的性能和安全性.
面向SOA服务架构的案例分析的研究的更多相关文章
- 关于SOA的架构设计案例分析
SOA体系架构及相关技术,主要应用在企业应用集成领域,它能够以服务的方式共享和复用企业现有应用资产,保护用户IT投资,并能够以服务的方式构建新的业务流程,对企业流程进行灵活重构和优化,增强业务的敏捷性 ...
- Java生鲜电商平台-生鲜系统中微服务架构设计与分析实战
Java生鲜电商平台-生鲜系统中微服务架构设计与分析实战 说明: Java生鲜系统中微服务的拆分应该如何架构设计与分析呢?以下是我的实战中的设计与经验分析. 目录 1. 微服务简介2. 当前现状3. ...
- 微服务理论之二:面向微服务架构与传统架构、SOA对比,以及云化对比
一.Monolith 网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外.原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式 ...
- .Net微服务架构之运行日志分析系统
一.引言 .Net技术栈目前还没有像spring cloud相对完整一整微服务架构栈,随着业务发展系统架构演进,自行构建.Net技术体系的微服务架构,配套相关核心组件.因平台基于微服务架构方式研发,每 ...
- SOA架构设计案例分析
转载自:https://www.jdon.com/soa.html 首先Martin Fowler提出SOA歧义Service Oriented Ambiguity,认为"什么是SOA&qu ...
- 基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例
QuickStart 基于SpringCloud体系实现,简单购物流程实现,满足基本功能:注册.登录.商品列表展示.商品详情展示.订单创建.详情查看.订单支付.库存更新等等. 每个业务服务采用独立的M ...
- 基于SpringCloud的微服务架构实战案例项目
QuickStart 基于SpringCloud体系实现,简单购物流程实现,满足基本功能:注册.登录.商品列表展示.商品详情展示.订单创建.详情查看.订单支付.库存更新等等. github源码地址:h ...
- 微服务理论之五:微服务架构 vs. SOA架构
一.面向服务的架构SOA 面向服务的架构是一种软件体系结构,应用程序的不同组件通过网络上的通信协议向其他组件提供服务.通信可以是简单的数据传递,也可以是两个或多个服务彼此协调连接.这些独特的服务执行一 ...
- WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例
最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架 ...
随机推荐
- CentOS 7 - 里面如何以root身份使用图形界面管理文件?
nautilus 是gnome的文件管理器,但是如果不是root账号下,权限受限,我们可以通过以下方式以root权限使用! 启动shll,随后在shell里面输入下面命令: sudo nautilus
- Centos6.10编译安装php-7.1.12并安装redis模块
1.服务器初始化 yum update -yyum install epel-release -yyum install gcc gcc-c++ wget lsof lrzsz telnet -y 2 ...
- app后端设计(php)
来源:http://blog.csdn.net/column/details/mobilebackend.html?page=1 做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经 ...
- iOS编程——Objective-C KVO/KVC机制
来源:http://blog.sina.com.cn/s/blog_b0c59541010151s0.html 这两天在看和这个相关的的内容,全部推翻重写一个版本,这是公司内做技术分享的文档总结,对结 ...
- Laravel5.6---从头做一个项目web
简介:类似论坛的项目,纯web,响应式,主要包含登录注册.支付.评论.富文本.文章列.个人中心等 目录: 1.初始化项目 ======================================= ...
- Kubernetes-使用Helm安装istio
添加istio库: helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.3.4/charts/ ...
- JVM参数优化(基础篇)
原文:https://www.howardliu.cn/java/jvm-tuning-basic/ 这几天压测预生产环境,发现TPS各种不稳.因为是重构的系统,据说原来的系统在高并发的时候一点问题没 ...
- Redis基于主从复制的RCE 4.x/5.x 复现
0x00 前言 最近期末考试,博客好久没有更新了,这段时间爆了三四个洞,趁着还没去实习,抓紧复现一下,这次复现的是Redis的RCE,复现过程中也遇到很多问题,记录下来和大家分享一下 0x01 拉取镜 ...
- linux 非root用户安装nginx
第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...
- 使用 create-react-app 快速构建 React 开发环境
在终端执行以下命令创建项目: 1.指定创建的项目位置(这里以桌面为例) cd Desktop 2.创建 React 项目 npx create-react-app my-app 3.进入项目并启动 c ...