本文主要面向具有一定网管开发经验的读者。
本人在毕业后不长的工作时间里,大多数时间从事的都是电信网管软件的开发,期间经历了大小不同的公司,也有幸从头到尾做过一些大型的网管软件的开发,甚至还不自量力的要去做一些网管开发平台。
我个人的背景,主要是在EMS(网元管理层)网管的开发,对NMS层有一些接触,对设备的开发也有些接触,但都属于隔靴骚痒,看着别人爽,文中提到的方法和思路,虽然多为通用的,但具体的一些方法对于其他类型的软件未必适合。
传统的TMN里,EMS网管只是其中一小块,借用TMN的方法论,就EMS网管本身,用接口划分的方式,网管有如下三个大的接口:
G接口:为网管提供给操作运维人员的人机界面(MMI),一般有基于BS技术的Web形态,基于CS技术的Java Swing, Delphi,基于命令行的CLI也是一种人机界面,这个G字可能需要再广义一点。
F接口:为网管内部接口,主要在网管的服务器和各类客户端之间的接口,网管一般采用集中部署的模式,网管服务器对设备一般充当了Manager的角色,它的客户端有多种形态,包括各种G接口的实现,甚至可以将网管与上级网管之间的北向接口也作为一种客户端,F接口就是这些客户端和服务器之间的接口。
Q接口:为网管和被管设备之间的接口,它是一种机机接口
G接口代表了网管的管理需求(Managing Requirements),Q接口代表了网管的被管需求(Managed Requirements),而F接口代表了网管的开发需求(Development Requirements)。
在我从事的很多网管项目的开发,由于团队中开发的角色较多,对网管的认识不足,产生了一些误区,概括的来讲,就是:
1、从F接口入手:因为在开发人员占主导,或者具有较深开发背景的占主导的团队中,大家往往最能想清楚的就是开发的这么点破事,所以,最容易先抓住F接口不放,设计各种模型,服务;
2、忽视Q接口:忽视Q接口的理由很多,有设备方面的问题,诸如设备没有定稿,设备不在自己掌握范围之内,设备接口不规范,总是能找到一大堆理由,但忽视了Q接口这一点很致命,一个网管,如果在开发过程的始终都没有搞清楚自己管的东西,如何成为一个"正确"的网管,如果连正确都做不到,这个产品或者项目就免谈成功了.
3、随意指定G接口:G接口的随意化,也是有多种原因
首先就是需求管理的不严格,不规范,国内现在很多软件公司,呆在家里三言两拍就可以为用户想好需求,随后设计界面和交互流程(就是G接口);
其次也有现在项目团队组成过于复杂的原因,从用户到产品经理、系统工程师,设计人员、开发人员,各种测试人员,实施人员,一个原始的需求,经过若干个部门和流程上的环节,传导到真正开发这里的时候,已经是面目全非,时间也滞后了很多。
实际上,以上的三个接口有其各自的特点:
G接口:形态多样化,需求变化较快,虽然网管的界面需求变化赶不上业务系统的变化,但由于这个接口是面向具体的人,其需求的变化是最难以琢磨的,但各种界面元素、流程其中的可复用度又是非常之高。
F接口:实现技术多样(WebServcie, Java RMI, Corba...可以列举一大堆),实现方式多样(各种设计模式都可以在这里一展身手),弹性十足,高水平的网管和低水平的网管,其F接口的设计和实现很容易有云泥高下之分。
Q接口:相比较为稳定,无论从接口信息本身,还是从接口的实现技术(Snmp,TL1,Q3,Corba,各大厂商的私有协议...),往往都比较稳定。
而我以上所提到的错误的网管开发思路,其主要错误就在于一开始抓住的是一个具有多种实现方案,不该被固化的F接口,而忽略了一个可以被“固化”的Q接口,随后而来对G接口的开发的错误也自然而然,甚至有一些更错误的方式是先定义G接口上各种界面,而后为每个界面定义一套F接口上的服务和模型,在我看来,这更像是一种过程式的开发思路。
写了这么多,好的方法在哪里?我个人认为,好的步骤是:
1、深挖Q接口,整理出其中的信息模型和接口、主要业务流程
2、详列G接口,将所有的界面都预先通过Screen Design(界面设计),Interactive Process Design(交互流程设计)的方式列举出来,找出其中共用的界面组件、交互流程。
3、归纳F接口,F接口本质上是为G接口服务的,当G接口被详细列举之后,其中共用或者类似的组件,流程,所调用的F接口往往都是类似的,这些接口就是可归纳的,而不需要每个模块,每个对象都重新定义一套模型和服务。
分享到:
相关推荐
《Windows SNMP 网管软件开发库详解》 SNMP(简单网络管理协议)是网络管理领域中的一个重要协议,主要用于监控和管理网络设备,如路由器、交换机、服务器等。在Windows环境中,开发者通常需要利用特定的开发库来...
网管软件网管软件网管软件网管软件网管软件网管软件
在基于Linux平台的嵌入式网管软件开发中,我们主要关注的是...对于电信网络来说,这样的嵌入式网管软件开发方法有助于提升网络的可管理性和可扩展性,加速新业务的开发和部署,更好地满足用户不断变化的数据业务需求。
系统集成商网管软件开发的实现,首先要了解网管软件的重要性与作用。网管软件是用于管理网络设备的综合管理工具,它能够帮助系统集成商和运维人员监控网络状态,快速定位问题,并进行资源调度和安全管理。随着网络...
设备商网管软件定制开发案例分析中涉及的知识点主要包括以下几个方面: 1. 网管软件(Network Management Software)的基本功能需求: - 设备拓扑(Device Topology):管理网络中设备的连接关系,实现网络结构的...
网管软件网管软件网管软件网管软件网管软件网管软件
### 国产化网管软件的关键技术与应用 #### 一、引言 随着互联网技术的飞速发展,网络管理成为保障网络安全稳定运行的重要环节。国产化网管软件的出现,不仅填补了国内市场的需求空白,同时也标志着我国在信息技术...
Python作为一门成熟的动态编程语言,在网络管理软件开发中,以其快速开发能力和良好的可维护性,为网管软件的开发提供了一个更加高效、灵活的解决方案。这些优势使得Python成为现代网管软件开发中的一种流行选择。 ...
反聚生网管软件的使用,旨在提高组织的工作效率,保障网络安全,同时也对个人隐私提出了合法合规使用的挑战。在实际应用中,应确保遵循相关法律法规,尊重员工的隐私权,并在透明的前提下实施管理措施。
在本场景中,我们关注的是一款名为“网管软件开发控件”的组件,它为开发者提供了一种便捷的方式来实现网络管理功能。这个控件特别针对C#编程语言设计,使得C#开发者可以轻松地在其应用程序中集成网络管理的能力。 ...
U2000网管软件实施手册网管系统 U2000网管系统是监控网络的硬件状态、配置信息、网络结构拓扑,方便整个网络环境的管理。该系统主要由服务器硬件环境、操作系统、数据库三个部分组成。 1. 服务器硬件环境要求: *...
《基于Web技术开发国产化网管软件的探讨》 随着信息技术的飞速发展,网络管理逐渐成为企业信息化建设的关键环节。Web技术的普及为网络管理带来了全新的解决方案,尤其是在国产化网管软件领域的应用,更是展现出其...
### 网管软件的发展历程 随着信息技术的不断进步,网络管理软件也在不断地发展和完善之中。从最初的命令行网管到现在的综合ITSM管理,网管软件经历了五个主要发展阶段。 #### 第一代网管:命令行网管 第一代网管...
比如,智和网管平台等本土软件不仅能够紧跟国际技术发展趋势,还能结合国内实际情况进行创新,开发出符合本土市场需求的独特功能和服务。此外,国产软件厂商在核心技术上的掌握能力不断增强,这为未来的产品研发和...
德芯数字设备网管软件是一款专门用于数字前端设备调试与网络管理的专业软件。这款软件的主要功能是让操作人员能够远程监控、配置和管理各种数字设备,确保设备的正常运行并优化其性能。通过使用该软件,用户可以轻松...
SNMP网管系统开发、snmp协议介绍、开发流程等
描述中提到的“没有使用时间限制”,意味着该软件不会对用户的上网时间进行严格的限制,用户可以长时间使用。然而,“只有网吧机器总数限制”意味着软件的许可证可能基于网吧中电脑的数量,超出预设数量的电脑将无法...
**网管软件(普罗米修斯)** 普罗米修斯是一款开源的监控系统和时间序列数据库(Time Series Database, TSDB),它专为现代云原生环境设计,广泛应用于容器化应用和服务的监控。在Windows平台上部署普罗米修斯,...
U2000 网管软件实施手册.pdf 本资源汇总了 U2000 网管软件的实施手册,涵盖了软件的需求、安装步骤、配置要求等方面的知识点。 一、软件需求 * 服务器硬件环境要求:CPU 性能高于双四核处理器,主频大于 2GHz;...
《天易成网管软件:全面解析与应用指南》 天易成网管软件,作为一款备受推崇的网络管理工具,其功能强大且易于使用,深受广大用户喜爱。这款软件集成了多项网络管理的关键功能,旨在提升网络运维的效率,确保网络...