电信网管中的Java客户端(二)
电信网管中的Java客户端(二)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1.概述
前文讲述了用Java开发电信网管界面系统遇到的困难。其中,制作网络拓扑图是我们第一个必须克服的困难。本文概述如何使用和制作网络拓扑图的产品和方法和思路。
2.电信网络拓扑组件的要求
网络拓扑图是电信网管客户端的核心。对于电信网络,在使用任何网络拓扑组件时,必须注意电信网络的一些特点:
· 数据量大。一般电信网络的规模都比较大,网络设备数量多,拓扑复杂。网络拓扑图界面必须考虑到能够处理大数据量的网络节点和连接。
· 多层次展示网络。在一个综合电信网络中,各种类型设备往往相互连接、相互承载,运行在不同的网络协议层中。同时,电信设备在逻辑和物理上也可能分布在不同层次上。网络拓扑图必须有能力按层次的来组织各种网络资源。
· 高效率。网络拓扑图必须能高效、迅速的反应网管系统的数据变化。
· 轻量。拓扑图毕竟只是界面系统的一部分,它在开发、部署、运行资源占用上,都不应该太“重”。如果它是一个个头超过10兆、占用数十兆内存的模块,我认为很难接受。
· 简单易用。简单的就是好的。我们不想把开发人员的脑细胞都耗费在组件的使用上,而是网管系统的架构设计上。
3.可用产品
开源产品:最让人遗憾的是,目前还没有专门针对电信网管开发的开源的或者免费的Java组件产品可以使用。虽然有JGraph等非常优秀的开源项目,但是如果用它来制作网络拓扑,还需要大量的开发和定制。希望将来能有开源或者免费产品的出现。
商用产品:其实选择也不多,罗列如下:
· ILOG JTGO:这是该领域最著名的一个产品。你可以到google上搜索一下,看看有多少公司的招聘信息都提到这个产品。这是一个老牌电信界面组件产品,占据了绝大多数市场份额,产品功能非常全面、稳定。JTGO是基于ILOG另外一个绘图产品JVIEWS上开发的,所以它在开发和运行时都需要JVIEWS包的支持,因此显得比较庞大(大约11兆)。JTGO提供了地图、设备面板图、树、表格等现成组件,以及大量文档和例程,为开发提供了很大方便。JTGO支持XML数据以及瘦客户端技术,非常适合在web上应用。但是,JTGO的架构设计比较复杂,API繁多,想要彻底精通这个产品的使用还是要费不少力气。
· JLOOX:JLOOX是一套功能很强大的Java2D产品,有专门为电信行业提供而提供的JLOOX Telecom产品包,专门用于电信行业OSS/EMS/NMS界面开发。JLOOX在国内也有少量应用。不过,最近ILOG已经正式从eNGENUITY公司收购了JLOOX产品线。ILOG在网站上声称,鼓励原有JLOOX客户转移到ILOG的JVIEWS产品上来,以获得更好的支持。由于JLOOX产品线和ILOG既有产品线JVIEWS/JTGO有太多的重合,这使得JLOOX的前景非常黯淡。
· SERVA Software TWaver:TWaver是SERVA Software公司的新产品。和上述产品具有完整的Java2D绘图功能不同,TWaver设计的目标非常明确,就是用于电信网管界面的开发。在功能上,它和JTGO有很大相似之处,包括提供的组件、业务对象、API设计、XML数据支持、编辑器程序等。TWaver的最大优点是非常轻量、高效,易于使用。TWaver的发布包不只有1兆左右,却可以承载数千个节点和连接,同时保持良好的响应速度,占用内存大约2.5兆/千节点。
4.使用架构
在电信网管界面的设计中,应该遵循MVC的设计原则,分离数据的存储、呈现和控制,便于系统进行扩展。
如果整个NMS系统看成一个MVC框架,GUI部分就算是系统的View了。在GUI这个View内部,再按照MVC的原则,将各种界面呈现元素(对话框、组件包等)看作View,而各种资源、业务对象、运行信息等看作Model。前后端的交互可以通过EJB调用、JMS消息等方式完成。
由于各种网络拓扑组件产品的设计本身都遵循了MVC的设计原则,所以在设计整个GUI架构时可以按照这种“MVC层层嵌套”的模式进行设计,以便系统的扩展。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"><a href="http://blog.csdn.net/images/blog_csdn_net/solo/45544/r_%E7%94%B5%E4%BF%A1%E7%BD%91%E7%AE%A1%E4%B8%AD%E7%9A%84Java%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%88%E4%BA%8C%EF%BC%89_MVC.jpg"><font size="4"><img alt="" hspace="0" src="/images/blog_csdn_net/solo/45544/r_%E7%94%B5%E4%BF%A1%E7%BD%91%E7%AE%A1%E4%B8%AD%E7%9A%84Java%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%88%E4%BA%8C%EF%BC%89_MVC.jpg" align="baseline" border="0"></font></a></lock></shapetype>
5.结束
下次将使用ILOG的JTGO以及SERVA的TWaver用代码展示制作简单网络拓扑图的方法。
电信网管中的Java客户端(二)相关推荐
- 电信网管中的Java客户端(一)
电信网管中的Java客户端(一) 1.概述 Java,尤其是J2EE技术,在网络管理系统中的应用已经比较普遍.很多公司都将自己的新一代网络管理产品构建在J2EE技术平台之上,以便实现大型网络管理系统的 ...
- tomcat中设置Java 客户端程序的http(https)访问代理
1.假定http/https代理服务器为 127.0.0.1 端口为8118 2.在tomcat/bin/catalina.sh脚本文件中设置JAVA_OPTS,如下图: 保存后重启tomcat就能生 ...
- Redis(四) - Redis的Java客户端
文章目录 一.Redis的Java客户端 二.Jedis客户端 1. 快速入门 (1)引入依赖 (2)创建jedis对象,建立连接 (3)测试,方法名与Redis命令一致 (4)释放资源 2. Jed ...
- JMX 入门(二)Java客户端
这篇博客参考官方教程以及个人的理解,通过实际的代码和操作来学会使用 JMX. JMX 入门(一)基础操作 JMX 入门(二)Java客户端 JMX 入门(三)认证加密 创建 JMX 客户端 前面一篇中 ...
- Java实现二十三种设计模式(五)—— 十一种行为型模式 (中)——解释器模式、迭代器模式、中介者模式、备忘录模式
Java实现二十三种设计模式(五)-- 十一种行为型模式 (中)--解释器模式.迭代器模式.中介者模式.备忘录模式 一.解释器模式 我国 IT 界历来有一个汉语编程梦,虽然各方对于汉语编程争论不休,甚 ...
- Java 基于 TCP/IP 实现 Socket中的多客户端通信
使用多线程实现多客户端的通信功能, Client.java(客户端)同上一节中的一致,不需要修改 Server.java package com.learn;import java.io.IOExce ...
- 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...
二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api. Zxing是Google提供的关于条码 ...
- Elasticsearch:在 Java 客户端中使用 scroll 来遍历搜索结果 - Elastic Stack 8.x
如果你搜索不经常更改的文档,则使用标准查询的分页效果非常好: 否则,使用实时数据执行分页会返回不可预测的结果. 为了绕过这个问题,Elasticsearch 在查询中提供了一个额外的参数:scroll ...
- java jspl是啥_login.jsp · L.lawliet/Java中软班一期二阶段Web项目 - Gitee.com
pageEncoding="UTF-8"%> 考勤平台 href="./resource/css/style2.0.css"> ul li { fo ...
最新文章
- 架构设计器_MySQL:数据库结构优化、高可用架构设计、数据库索引优化
- PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
- linux java main 参数设置_Java虚拟机参数设置
- 教你如何一篇博客读懂设计模式之—--原型模式
- cocos2d-x初探学习笔记(1)--HelloWorld .
- MyBatis 中的mapper.xml详解
- python源码不需要编译成二进制代码_编译 Python 源代码
- 360与Bing合作上线英文搜索
- 亲测可用:推荐一个免费下载外文文献的网站
- ​越狱iOS必备神器Flex使用指南-屏蔽越狱检测的破解利器
- 掌握这些插件,分分钟提高你的办公效率90%!
- .NET(C#)生成随机姓名,随机汉字的产生
- 关于“程序员996”,互联网大神发话了,能顶用吗?
- 区块链三加一告诉你如何快速了解区块链入门技术?
- JavaScript基础知识学习
- MAC 终端命令,解压 rar 文件配置
- Java 基础核心总结
- template(模板)的介绍以及使用方法
- iPhone全球性竞争力乏力,苹果恐退化为区域性品牌
- 《TP基础篇——MTK平台》
热门文章
- Java后台相关知识盘点(持续更新中)
- 打造“大国重器”高性能计算,联想与英特尔如何携手点亮数字经济加速度?...
- java.lang.NullPointerException: pattern
- 计算机不及格检讨书800字,寝室卫生不及格检讨书800字
- 动作捕捉技术识别细小错位 机械外骨骼适应性升级
- Uncaught Error: USERKEY_PLAT_NOMATCH 的原因和解决办法
- 计算机网络-名词解释
- android hook 第三方app_不需要Root即可Hook别人APP的方法
- NSTextField限制输入框只能输入英文字母数字字符,不能输入中文
- 【Azure Data Platform】Azure SQLDW与ADLS的整合