Java技术,在网络管理系统中的应用已经比较普遍。网管软件的分类有很多种,有侧重于业务应用的,有侧重于管理设备的,有侧重于网络的,有侧重于桌面管理的,每种网管软件虽然外在的具体表现形式都不同,但其实内部的技术都大同小异。这其中的设备网管软件就是一个最典型的技术代表,一个全面的设备网管软件基本上要包含网络拓扑图、设备配置、故障管理、性能管理、安全管理、业务管理,也就是FCAPS 这几大块功能。
一、 技术架构的变迁
在网管软件最早的年代,基本上都是从电信管理网的那一套发展起来的,按TMN规范定义的模型来处理,像什么Q接口、F接口、X接口、CORBA、NMS/EMS、FCAPS功能划分,都是这种模型的代表。这种模型对于大型的电信网络来说是必须的,可是对于企业级别的设备网管软件来说,就显得过于笨重,花费的成本是无法接受的。
于是对于设备网管软件的架构,逐步向实用化、工程化发展,也就是轻量级技术的发展。轻量级的技术,沿用了FCAPS的功能模型,也是用户关心的问题。而在内部技术上,突破了TMN的种种限制,好的就借用,不好的就抛弃。在这种轻量级技术的影响下,根据用户的需求,灵活选择JAVA技术、数据库技术、SNMP协议,就是这一技术的代表。
二、 轻量级技术架构
选择C/S,还是B/S?这是首选问题。C/S的客户端功能很强大,界面表现力很好,而且故障的反应能实时处理。B/S在集成网络拓扑图的界面展示上会打折扣,好在报表分析这块上。最好的建议是用Applet+服务端的模式,兼顾两者的优缺点。因为网管软件的网络服务特性、实时处理特性、大量任务监视、事件分发特性,不适合采用J2EE的模型,用普通JAVA做服务端是最恰当的。
三、 模块级技术选择
1.通信协议选择:C/S架构的,可以选择RMI;Applet架构的可选XML-RPC或RMI技术,B/S架构不存在这个问题。
2.数据库技术选择:O-R Mapping是最佳选择,Hibernate是这个领域最成熟的组件,比只用JDBC简便很多。
3.网管客户端:这个是最容易被忽略的问题,真正在网管开发中,界面的复杂度和工作量比服务端大很多,而且对于用户体验来说,界面更加重要。界面当中最重要非网络拓扑图不可,基本上大多数的网管软件界面都是围绕着网络拓扑图来开发的。目前可以用商业的ilong视图组件,因为功能涉及面比较广,API比较复杂,报表系统做的很多,每个客户端都要收运行费用。喜欢轻量级开发的,可以用itopoview网络拓扑图组件,专门针对网管软件,很多网管系统常用的界面处理都内置了,上手也快,组件库小巧灵活,只收开发费。两个组件都可以用于applet环境。
4.WEB客户端:如果选用B/S,可以考虑flex或SGV或ajax技术的web拓扑图,flex更成熟一些,用的人比较多。但是所有WEB 拓扑图都有一个缺点,都是100% java技术的,这样的话,团队中需要懂其他技术的开发人员。这是我再次推荐用Applet的原因。
5.网管协议:目前运用的最多是SNMP协议,相关的java协议栈也比较多,像SNMP4j就是比较好的JAVA SNMP协议栈。如果想加快SNMP的开发,可以考虑ObjectSNMP组件,采用O/M Mapping技术(和O/R Mapping类似),这样的话,开发SNMP的主要工作就是定义普通JAVA对象,当然ObjectSNMP底层可能采用如SNMP4J这样的协议栈。
6.客户端报表分析:毫无疑问,jfreechar肯定能满足需求,而且是免费的(只收文档费用)。还有一个选择,用JRobin,可以快速做出漂亮的流量图,但是JRobin是基于文件的数据存储,与系统的集成度不好,将来做数据分析也不方面,仅限用于救急。
7.故障、事件分发机制:网管的事件分发不是很复杂,用一个JMS的产品如OpenJMS就可以;如果嫌JMS的存储多余,可以考虑JGroup消息广播机制。
8.任务机制:是网管就不可避免的会设计到监控任务、定时任务。如果你对线程和时间处理的很好的,可以用java只带的就可以;否着的话,可以选择Quartz,再复杂的任务都能处理。
其他体会:
不要迷信j2ee,对于设备级网管来说,只会帮倒忙,而且处处别扭;即使是B/S的架构,J2EE在处理任务、故障事件、SNMP服务方面也无能为力。设计一个灵活但简单的界面架构,用户的很多需求都针对界面的。(bitsCN.com原创/文jianlong/转载请保留)
文章转载自网管之家:http://www.bitscn.com/pdb/java/200905/161526.html
分享到:
相关推荐
本源码提供了一个基于Go的物联大师开源免费物联网智能网关系统设计。项目包含165个文件,其中包括147个Go源文件、4个PNG图片、3个Shell脚本、2个YAML文件、1个EditorConfig文件、1个Gitignore文件、1个LICENSE文件和...
针对现有智能家居网关系统存在的诸多不足,如实用性、可靠性、简便性和成本等问题,本研究提出了基于物联网的嵌入式智能家居网关系统设计方案。 设计方案的核心是采用嵌入式ARM处理器,利用低功耗、低成本的ZigBee...
物联网网关系统设计方案 物联网网关系统是指通过射频识别(RFID)、红外感应器、GPS、激光扫描器等信息传感设备,按约定的协议,实现任何时间、任何地点、任何物体进行信息交换和通信,以实现智能化识别、定位、...
本论文探讨了基于语音识别技术的智能家居网关系统设计问题,特别针对目前市场上依赖于云服务端进行语音识别的智能家居产品存在的局限性,提出了一种新型的智能家居网关系统设计方案。该系统旨在解决因缺乏互联网连接...
这是一个基于Zigbee技术的嵌入式无线家庭网关系统,希望搞嵌入式的人,能用到。谢谢啦!
《短信网关系统设计》是IT领域中一个重要的主题,主要涉及如何构建高效、稳定、安全的短信发送平台。在系统设计过程中,我们需要考虑多个关键因素,包括但不限于以下几个方面: 1. **系统架构**:短信网关系统通常...
"嵌入式Linux的LoRaWAN集成网关系统设计" 这篇论文提出了一种基于嵌入式平台的LoRaWAN集成网关系统,旨在解决小规模LoRa网络建设成本高的问题。该系统使用树莓派单板计算机,集成了网关的所有功能和LoRaWAN服务器的...
350、基于stm32单片机modbus无线网关系统设计(原理图、PCB图、源代码) 该系统为stm32单片机modbus无线网关系统,实现无线温湿度采集和modbus无线网关设计; 功能: 1、系统使用stm32单片机设计; 2、采集端使用温...
物联网网关系统设计方案主要关注的是如何构建一个能够整合不同接入方式,并实现不同网络间协议转换的中心节点,以促进物联网的广泛应用。物联网是一个集成多种信息传感设备的网络,如RFID、红外感应器和GPS,它通过...
【家庭网关系统设计】 家庭网关是一种连接家庭内部物联网设备和外部网络的关键设备,它在智能家居系统中扮演着至关重要的角色。随着信息技术的发展,尤其是Android系统的广泛应用,将机顶盒升级为具备智能功能的...
基于ARM处理器的无线传感器网关系统设计是解决这类问题的有效方案。ARM处理器以其低功耗、高性能和广泛的生态系统支持而被广泛应用。本文将深入探讨在野外环境下,如何利用ARM内核构建一个可靠的无线传感器网关系统...
基于物联网的智能家居网关系统设计与实现分析.pdf
ADI公司的Blackfin处理器是Adescom公司在其有线电话管理网关系统设计中选用的关键组件。这款处理器以其独特的性能和特性,为Adescom提供了高效、灵活且经济的解决方案,以满足VoIP(Voice over Internet Protocol)...
总结而言,ADI Blackfin处理器是Adescom公司有线电话管理网关系统设计的核心,结合了风河公司及其合作伙伴提供的预集成软件解决方案,实现了高效、可靠的通信服务。同时,杜邦公司在光伏科技领域的研究和发展,为...
嵌入式智能家居物联网网关系统设计.pdf
综上所述,智能家居网关系统的设计研究,不仅涉及到了物联网技术在智能家居领域的应用,还包括了对嵌入式系统设计、无线通信技术、网络协议栈的选择、用户界面设计等多方面的考量。随着物联网技术的进一步发展和应用...