电信网管中的Java客户端(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1.概述
Java,尤其是J2EE技术,在网络管理系统中的应用已经比较普遍。很多公司都将自己的新一代网络管理产品构建在J2EE技术平台之上,以便实现大型网络管理系统的分布式架构。一般的企业级或电信级网管系统都涵盖FCAPS等基础模块,同时在此基础上构建面向运营商的业务模块,如端到端的监控和管理、基于商业规则的告警处理、工作流等等。EJB很适合实现这类模块,很多公司的产品也已经这样做了。但是,本文要讨论的不是Java在网管服务器侧的应用,而是大家讨论比较少的客户端应用。
Java桌面技术一直饱受批评。而在选择了J2EE做网管后端后,客户端该如何选择呢?是选择简单灵巧的Web技术,还是选择复杂强大的Swing技术呢?
2.Web客户端
基于B/S结构的Web客户端技术现在几乎成为J2EE应用的主流。基于Web的应用系统优点很多,比如零安装、占用资源少、技术简单等。在加上Struts等优秀的开发工具支持,可以快速设计出结构合理、易于维护的程序界面。
由于B/S本质上是一个松散的、基于请求/响应机制的结构,它的缺点也很明显:对于后端信息的主动呈现、复杂的交互图形界面、实时监控图表等处理起来比较吃力。考虑电信网管的以下一些情况:
· 实时呈现服务器侧的告警、事件信息;
· 实时呈现某些资源的性能信息;
· 实时呈现整个被管理网络的拓扑结构图;
· 实时呈现单个设备的面板机架板位图;
· 客户端启动时需要加载大量数据;
由于基于B/S结构的客户端的某些局限性,使得它很难直接作为整个电信级网管系统的界面,所以它往往在一些小型的企业级网管、面向设备的EMS系统中出现,或者作为整个界面系统的补充,例如远程告警查询、计费信息查询等。一个最简单的例子是,我们常见的ADSL Modem或小型路由器中就内置了微型的基于Web的嵌入式网管(比如你可以直接通过地址http://192.168.1.1/登录到ADSL Modem中进行配置)。
3.Swing客户端
虽然大多数J2EE应用还是基于Web的,但Swing确实是Java标准的客户端开发包。大家对Swing的评论也很多。但Swing的桌面应用(例如JBuilder和NetBeans)确实不多。大致说来,造成Swing不那么流行的原因有:
· 开发Swing应用很花时间。制作Swing界面需要编写大量代码。JBuilder等工具确实可以自动完成一些代码,但还根本无法与Delphi等传统开发工具效率相比。
· 掌握Swing比较难。为了跨平台和性能等方面的考虑,Swing不得不采用Layout、LookAndFeel、非线程安全等特性。这使得对于初学者来说学习Swing门槛有点高,需要小心的处理很多底层细节,理解大量MVC概念和设计模式。
· 设计偏于复杂。Swing有着无与伦比的扩展性和灵活性。不过复杂的API使得即使某些简单的常规问题也不那么容易找到答案(你能正确的使用进度条控件吗?)。Swing是一个偏向理论化、学术化的工具包,它采用了很多现代的UI理论:工厂模式、渲染器、MVC、事件处理、国际化等等。但是对于大规模的常规界面开发来说,Swing的设计确实有点overkill了。
· 缺少Native特征。所以很多客户都觉得Swing界面在显示和使用上都有某些怪异之处,总之和本地的程序界面多少有些不同,例如速度、内存、拖拽、交点、字体甚至鼠标滚轮等都有一定的差异。
不过,使用Swing来做电信网管系统的界面还是比较合适的。Swing是Java的标准客户端开发包,它可以方便的和后台J2EE服务器交互,同时提供丰富的交互能力、实时告警/事件信息的通知、复杂网络拓扑图的呈现等。
SWT是另一个引人关注的客户端技术。SWT是IBM为它的Eclipse集成开发环境而开发的图形用户界面工具。SWT可以在Eclipse环境外使用,而且提供对操作系统本地图形用户界面的直接访问。因此,基于SWT的Java应用程序拥有本地的图形用户界面并且可以和本地别的应用程序和部件集成在一起。SWT的问题是,它还不是Java的标准技术,目前也尚在发展之中,变数很大。对于投入很大的电信网管系统来说,使用SWT似乎还有比较大的风险。
4.客户端的几个难点
我们的前提是,你已经决定采用J2EE和Swing技术来构建你的网管系统。对于客户端来说,此时还有以下一些技术难点需要考虑。
4.1 网络拓扑图
网络拓扑图应该是电信网管客户端的核心。网络是网管系统的被管对象,网管系统自然需要用最直观的方式呈现网络的拓扑结构、配置信息、运行状态等。客户端的各种功能一般以网络拓扑图为核心进行展开,如通过菜单、鼠标等提供FCAPS模块的各种功能入口。面对复杂的网络结构和大量网络运行信息,用图形化的界面来呈现和操作网络无疑是最直观、方便的方式。
用Swing来实现网络拓扑图的呈现不是一件轻松的任务。尤其面对复杂、大型的电信网络时,如何高效、直观的呈现数量众多、种类烦杂、有层次的各种设备、连接,以及各种告警/事件信息,确实是一个难点。我们要考虑的不光是Java和Swing技术,同时要掌握图形学的一些技术,以及大量电信网络知识。
解决问题的办法:一是自己开发,二是使用第三方组件产品。有实力的大公司会考虑投入人力物力开发自己的Swing网络拓扑组件,以便为自己众多的网管产品使用,节省长期费用。不过更多的公司还是考虑使用第三方组件包来实现网络拓扑图的呈现,减少在GUI上花费的精力,将力量集中在网管业务模块的设计和开发上。毕竟网管的任务是网络管理,而不是图形图像处理。
4.2 设备面板图
网络是由网络设备及其各种物理/逻辑连接构成的。用户关心网络中每一个设备节点的运行状况。网管界面需要提供每一个设备的面板图/机架板位图。设备面板图可以直观的展示设备的外观物理和逻辑结构,同时呈现各种告警、状态信息,使用户一目了然的了解设备运行和配置状况。
Swing来呈现设备面板图面临的困难和网络拓扑图一样。稍有不同的是,设备面板图中的物理/逻辑连接比较少,但设备的种类、样式、功能繁多,如何减少代码开发工作量是一个要仔细考虑的问题。毕竟网管系统需要持续的增加更多的被管设备类型,而开发却不能没完没了。
解决方法可以考虑自己开发或者外购第三方组件。
4.3 实时接收后端数据
简单来说,数据的走向有两种情况:客户端主动从后端获取数据;后端主动将数据通知客户端。假如后端系统模块以EJB的形式存在,则可以通过普通的远程调用来创建、使用EJB业务模块。而后端的运行信息如告警等如何主动、及时的“推”给客户端则需要仔细研究。尤其要考虑以下各种情况:
· 客户端数量很大时;
· 客户端断链时;
· 每个客户端需要接收的信息不同时(比如由于权限、角色的不同所致);
有两种方案可以考虑:一是采用EJB回调(Callback)客户端的方式;二是采用JMS消息通知的方式。
4.4 加载启动数据
由于网管系统非常庞大复杂,客户端在启动时一般需要加载大量数据进行初始化。比如,加载用户个性化信息、网络拓扑数据、告警信息、设备信息等等。对于一个有1000个电信设备节点的网管系统,其物理对象(如网元、架、框、板、端口、时隙等)将非常多。再加上各种物理连接(光纤、电缆、电路等)和逻辑连接(各种虚电路、各种协议链路、连接、通道、路由等)数量将非常大。此外客户端还需要加载所有被管对象的告警、状态、权限等信息。很多大型网管系统的客户端,启动就需要数分钟,同时要求机器要有宽大的显示器和服务器般的CPU、内存。
如何解决客户端快速启动、快速加载数据并初始化是网管开发中一个难题。简化数据结构、实现按需加载(on-demand-load)可以有效缓解这类问题。
5.结束语
本文简要的探讨了Java客户端技术在电信网管系统中的应用及其面对的问题。后续文章将针对本文提出的一些技术难点进行深入探讨。下一次我们将讨论如何使用ILOG的JTGO与SERVA的TWaver组件产品进行网络拓扑图、机架板位图的设计和开发。
参考文献:
[1] Telecom Network Management With <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><place w:st="on"><city w:st="on">Enterprise</city></place> JavaBeans Technology, A Technical White Paper. Sun Microsystems, Inc. 2001
分享到:
相关推荐
摇钱树网吧客户端软件,易安装,易使用,愿与大家同分享
万象网管客户端万象网管客户端万象网管客户端万象网管客户端万象网管客户端万象网管客户端万象网管客户端万象网管客户端
### 基于Java语言的GIS系统在电信网管系统中的开发应用 #### 摘要 随着信息技术的快速发展,人们对电信网络管理系统的功能需求日益提高。传统的电信网络管理系统不仅需要展示网络拓扑结构,还需要具备快速定位故障...
《TWaver Java 3.7 开发者指南》是一份专为Java开发者设计的电信网管图形界面组件的详细教程。TWaver是一款强大的可视化工具,主要用于构建复杂的网络管理系统,尤其在电信领域应用广泛。该教程涵盖了如何利用TWaver...
为了简化这一过程,TP-LINK推出了其Web网管交换机客户端应用程序1.0.0版本。这款工具专门设计用于协助用户更有效地配置、监控和维护TP-LINK品牌的网络交换机,尤其是那些常用于楼宇内部的楼道交换机。 首先,我们来...
本文主要探讨了在低带宽环境下,如何优化电信网管客户端与服务器之间的通信技术,以提高数据传输效率。作者全锐提出了一种适用于低带宽场景的数据传输方法,结合电信网管数据的特性,利用gzip压缩算法、FTP传输以及...
《360网管版客户端部署手册V1》是一份针对网络管理员的详细指南,旨在指导用户有效地安装和部署360网管版客户端。该手册适用于已经安装了360网管版控制台的用户,若还未安装,可以通过指定网址进行下载。以下是手册...
网管系统的开发及其它系统,往往需要java做客户端,C做服务器端,而且客户端和服务器端需要安全通信,及网络中发送的数据包是密文,我这个程序包就实现了该功能,采用SSL机制实现java客户端与C服务器端的机密通信,...
不用安装客户端的管理软件 聚生网管系统(官方网址http://www.grabsun.com)是一款强大并极富创意的局域网网络管理软件,它可以部署到局域网的任意一台电脑上,不需要做端口镜像,HUB或者代理服务器设置,就可以实现...
### 网管客户端升级操作步骤详解 #### 一、背景介绍 随着信息技术的快速发展,网络管理系统(NMS)作为确保网络稳定运行的关键工具之一,其版本更新与升级显得尤为重要。本文将详细介绍从旧版0536网管客户端升级至...
《网络游戏-网络管理系统及内部通信方法、网管服务端和网管客户端》是一个与网络游戏相关的技术文档,主要探讨了网络游戏中的网络管理系统、内部通信机制,以及网管服务端和客户端的角色与功能。以下是对这些核心...
无盘系统是一种网络计算模型,其中客户端计算机无需在本地存储操作系统和应用程序,而是从服务器上获取所需的所有资源。这种架构广泛应用于网吧、教育机构和企业环境中,以减少硬件维护成本,便于集中管理和更新。...
1、适用于SG105 Pro V1.0 / SG108 Pro V1.0 / SG116D Pro V1.0 / SG124D Pro V1.0等型号交换机的管理软件。 2、支持操作系统:Win7/8/8.1/10
### 基于XML的界面自动生成...总之,基于XML的界面自动生成技术为电信网管系统中的配置管理提供了一种高效、灵活的解决方案,不仅提高了开发效率,还简化了代码维护工作,有助于构建更加稳定可靠的电信网络管理系统。
用于电信智能网管项目的实施描述及技术支持
网管必备工具,上传和下载都能测出准确数值。对于大带宽的环境更加有效
### 业务规则管理在电信网管系统中的应用 #### 一、引言 业务规则(Business Rules,简称 BR)或业务逻辑(Business Logic,简称 BL)对于任何公司的业务运营至关重要。这些规则通常需要随着外部环境的变化而进行...
标题中的“Erlang开发电信网管项目实践”指的是使用Erlang编程语言来构建电信网络管理系统的过程和经验。在电信行业中,网管系统对于监控、维护和优化网络至关重要,而选择Erlang作为开发语言主要是因为它在并发处理...
贝尔网管客户端是专为FTTH(光纤到户)网络管理设计的一款高效、专业级的应用程序。它集成了多种功能,旨在优化光纤网络的运维效率,确保服务质量和稳定性。作为一款网管软件,它在FTTH网络的监控、故障检测、性能...