网站首页  词典首页

请输入您要查询的论文:

 

标题 基于SOA的业务动态定制的网络管理系统设计与实现
范文

    王旭峰 王智立

    

    

    摘要:当前网络发展日益呈现出异构性、动态性、服务层次多样性,传统的网络管理系统的架构和功能不能满足业务动态呈现的需求,为了提高业务系统的灵活性、动态性和可扩展性,本文基于面向服务的软件架构(SOA)设计了一种可定制的业务模型,基于此模型可实现业务的按需配置、功能重组、动态呈现,有助于提高网络管理系统对不断出现的新的管理需求的适应能力,增强对支持多样化的任务的灵活性,使网络管理系统具备较高的时效性、维护性和灵活性。

    关键词:网络管理;Web服务;业务动态定制;灵活性

    中图分类号:TN915.07

    文献标识码:A

    0 引言

    随着信息技术的迅速发展,网络管理理念也在发生深刻变化。面向用户、面向服务的管理体系结构和应用技术成为当前研究的热点和难点。新的管理理念与传统的面向网络、面向设备的管理思想有着很大不同。

    以面向服务的思想为基础的网络管理中,各种功能都被定义为Web服务,网络管理功能即为各种Web服务的调用与组合。目前针对业务管理,网管系统只能提供固定的业务管理模式,即不能更改已有业务系统的服务组成、服务位置、服务参数等。如果业务发生变化,将导致业务管理系统的不可用或者重大变化。而当前业务需求正呈现多样性,我们希望在业务发生问题后能够快速解决,这需要提供业务与网络管理功能的各独立网络管理系统能够面向管理任务,实现满足即插即用、柔性重组、按需分配、抗毁容灾等需求的网络管理动态协作。动态协作主要是指在网络动态运行环境下,由各网管系统之间的信息共享、信息交换和信息互操作而引发的系统级的协同工作。

    面对以上问题,本文采用面向服务的思想将各网管系统提供的功能抽象成网络管理服务(network man-agement service),设计了栅格化信息的综合业务管理系统,实现对业务的注册、查询以及对业务的动态定制等功能。该系统的业务动态可定制性体现在针对不同的业务需求,可实现不同的业务配置,满足了业务多样化的需求,实现了一种灵活的、可定制的网络管理系统。

    1 Web Service与面向服务架构SOA

    1.1SOA

    面向服务体系结构(Service-oriented Architecture,SOA),是一种组件模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。它的基础是可以直接被应用调用的服务,所有的服务都采用描述语言加以定义,并且采用独立的方式定义各自的接口,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。

    1.2Web Service

    Web Service是一种通过Web部署提供对业务功能访问的技术。Web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中一般包括三个角色:服务提供者、服务请求者和服务注册中心。角色之间主要有三种操作:发布(Publish),查找(Find)和绑定(Bind)。服务提供者是服务的具体实现端,通过注册服务将自己提供的服务向服务注册中心发布,当收到服务请求者的服务请求时,向服务请求者提供服务。服务请求者即是服务的调用者,首先,服务请求者需要向服务注册中心查询符合条件的服务,然后根据服务描述信息进行服务绑定,获得相应的服务。而服务注册中心则是为服务提供者提供注册服务,为服务请求者提供查询服务,将服务提供者与服务请求者联系起来,同时实现了系统间的松耦合。

    2 实现可定制的业务模型

    为了实现业务模型的可定制性,根据不同的用户服务和特定的企业应用需求,本文设计了服务呈现的业务模型,该模型对应于一个形式化的数据结构,该结构能够描述不同业务呈现所需要的相关数据。该业务模型示意图如图1所示。

    业务基本信息:包含业务标识、业务名称、业务开始时间、结束时间、业务描述、创建者、创建时间、版本号。其中业务开始时间和业务结束时间是可选项。业务基本信息是对定制业务的基本标识与描述。

    用户名列表:是用户名的一个集合。在定制业务时可以为不同的用户设定不同的权限。

    服务静态信息列表:是服务静态信息的一个集合。服务静态信息包含服务标识、服务名称、服务访问地址。业务是对各种服务调用的定义与组合,而服务静态信息列表相当于业务的服务静态库,包含了业务所需的所有服务信息。

    感知点部署信息:包含感知点标识以及感知点的部署参数等。感知点部署信息负责对下层感知能力进行定制。

    入口信息:主要包含菜单项列表和服务入口信息列表两大项。菜单项项列表是服务标识的集合,用来定制展示界面中菜单项所包含的服务。服务入口信息列表则是服务信息的一个集合,每个服务信息包含服务标识、位置、操作列表。服务入口信息用来定制界面展示中各种服务的调用参数以及服务位置等信息。

    服务流程信息:是服务执行信息的一个列表。服务执行信息包含服务标识和服务操作。用来定制服务执行流程以及定制一些组合服务等。

    3 业务定制流程

    业务定制流程可简单解释为:(1)业务信息定制。(2)业务发布。(3)业务调用。

    业务信息定制:通过jsp实现一套可视化业务信息定制界面。为业务所需的六大信息进行分别的定制,其中需要调用服务管理模块,查询服务注册中心中已有的服务信息,显示并供用户选择。在查询服务中方法的调用参数时,并没有采用传统的UDDI服务查询方式,而是设计了更为简单的方法,直接访问服务的发布地址,因为服务的发布实际上也是一个WSDL格式的文件,通过wsd14j工具直接解析这个WSDL文件,得到服务的方法,调用参数等详细信息,此方法较传统的UDDI服务查询方式更为直接、快速。

    业务发布:业务信息定制完成后需要将业务信息存储,以便用户的调用。本文采用XML格式对业务信息进行存储,并设计了业务注册中心,同服务注册中心相似,提供业务的注册、业务查询以及业务修改、下发等服务。用户想要使用业务,需要先向业务注册中心进行查询,得到业务的具体描述,然后才能根据业务描述使用业务。

    业务调用:首先向业务注册中心查询需要的业务,获取业务的详细信息。在登陆模块中,查询业务的用户信息,根据用户信息确定用户权限。在展示模块中,根据业务中的入口信息动态绘制界面。其中入口信息中的菜单项列表决定了界面中菜单项提供的服务,根据提供的服务标识去服务注册中心查找相应服务并提供给用户。根据服务入口信息列表中定制的服务名,位置以及服务调用参数信息调用相应服务并展示在相应的位置上。

    业务定制流程图如图2。

    传统的业务管理系统不包括图2中虚线框内的内容,即传统的业务管理系统只与服务注册中心进行交互,查询所需要的服务并进行绑定调用。业务所需的服务以及参数是固定不变的,业务的组织和呈现模式固定不变,因此当业务需求发生变化时,不能及时更改业务系统,故传统的业务管理系统已经无法达到业务需求的标准。

    在引入面向服务的框架之后,系统中添加了业务定制系统与业务注册中心,正如图2中展示的,用户使用业务定制系统进行业务定制,之后向业务注册中心进行发布,业务管理系统首先向业务注册中心进行查询业务,得到定制化的业务数据,再根据业务数据中的服务定义向服务注册中心进行服务查询并进行绑定调用。进过这种转换,当业务需求发生变化时,只需要在业务定制系统中定制新的业务并发布,然后业务管理系统会根据新的业务数据去重新请求服务以更新整个业务系统的服务组合,参数以及位置等信息。因此,引入面向服务的业务定制系统能够快速的响应业务需求的变化,同时方便业务修改与业务扩展,克服了传统业务管理系统的不足,满足了业务动态呈现的需求。

    4 业务管理主要功能实现

    首相需要利用axis工具将业务管理的WSDL文件生成相应代码,首先在DOS中进入WSDL文件所在目录,然后使用命令java org.apache.axis.wsdl.WSDL2Java-p BusinessManagementService-s BusinessManagementSer-vice.wsdl生成服务端代码。生成的服务端代码里,在BusinessManagementServiceBindinglmpl-java里填充服务实现的代码。最后将服务端里所有的java文件都进行编译(在eclipse下建一个工程,引入所有的java文件和axis/lib下的所有jar包编译)。

    业务管理模块在初始化时需要创建三个配置文件,分别是businessInfo.xml、serviccInfo.xml、userList.xml。其中businessInfo.xml文件作为服务查询的索引文件,其以businessld作为键,业务名称作为值。在进行服务查询时,输入参数为businessId,这时需要首先查找businessInfo.xml文件,找到对应的业务名称,然后在系统中查找以业务名称为文件名的XML文件。serviceInfo.xml文件保存服务相关信息,以serviceld为键,服务名称为值,该文件作为查找服务的索引文件。userList.xml文件存储的是用户相关的信息,以Username作为键,用户名作为键的属性,用户的业务作为值,此文件用来查询用户拥有的业务列表。

    业务注册方法:首先调用系统初始化函数,创建上述所说的三个配置文件,如果配置文件已经存在,则跳过。然后以业务名称为文件名,创建XML文件,解析输入参数,将参数的每一个域作为键值对保存在XML文件中,最后更新配置文件信息。返回注册结果。

    业务查询方法:业务查询分为业务的整体查询与业务六大功能域的分别查询,其本质上调用的函数是一样的,业务的各个作用域的查询实际上就是查询整个业务后返回相应的作用域。这里在类中创建了相应属性作为查询的缓存变量:其中有lastAccessBusinessName作为系统的业务名称缓存,当进行一次业务查询时,会将业务名称保存在这个缓存变量中,再进行下一次的业务查询时,需要将业务名称与这个缓存变量进行比较,如果业务名称与这个缓存变量不一致,则更新缓存变量。如果一致,则不进行实际的业务查询功能,直接返回上面的各个静态变量。经过这种优化,极大的减少了实际的查询数量,减轻了服务器压力,提高了查询速度。

    5 结论

    从网管软件技术体制发展过程来看,经历了面向过程,面向对象,面向组件,面向服务几个阶段,是一个逐步发展进化的过程,软件技术体制的发展是朝分布式、松耦合的方向逐步发展。目前,SOA软件体系是实现网管系统集成的最先进架构。本文在Web服务的基础上,采用面向服务的思想,设计了动态可定制的业务管理系统。与传统的管理系统不同,业务中调用的服务、调用的参数以及位置信息等不是固定的,每次进入的系统都根据定制业务的不同而不同,经验证此系统可以满足多样化的任务需求。

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2024/12/23 4:15:01