电信网管中的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客户端(二)相关推荐

  1. 电信网管中的Java客户端(一)

    电信网管中的Java客户端(一) 1.概述 Java,尤其是J2EE技术,在网络管理系统中的应用已经比较普遍.很多公司都将自己的新一代网络管理产品构建在J2EE技术平台之上,以便实现大型网络管理系统的 ...

  2. tomcat中设置Java 客户端程序的http(https)访问代理

    1.假定http/https代理服务器为 127.0.0.1 端口为8118 2.在tomcat/bin/catalina.sh脚本文件中设置JAVA_OPTS,如下图: 保存后重启tomcat就能生 ...

  3. Redis(四) - Redis的Java客户端

    文章目录 一.Redis的Java客户端 二.Jedis客户端 1. 快速入门 (1)引入依赖 (2)创建jedis对象,建立连接 (3)测试,方法名与Redis命令一致 (4)释放资源 2. Jed ...

  4. JMX 入门(二)Java客户端

    这篇博客参考官方教程以及个人的理解,通过实际的代码和操作来学会使用 JMX. JMX 入门(一)基础操作 JMX 入门(二)Java客户端 JMX 入门(三)认证加密 创建 JMX 客户端 前面一篇中 ...

  5. Java实现二十三种设计模式(五)—— 十一种行为型模式 (中)——解释器模式、迭代器模式、中介者模式、备忘录模式

    Java实现二十三种设计模式(五)-- 十一种行为型模式 (中)--解释器模式.迭代器模式.中介者模式.备忘录模式 一.解释器模式 我国 IT 界历来有一个汉语编程梦,虽然各方对于汉语编程争论不休,甚 ...

  6. Java 基于 TCP/IP 实现 Socket中的多客户端通信

    使用多线程实现多客户端的通信功能, Client.java(客户端)同上一节中的一致,不需要修改 Server.java package com.learn;import java.io.IOExce ...

  7. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api.   Zxing是Google提供的关于条码 ...

  8. Elasticsearch:在 Java 客户端中使用 scroll 来遍历搜索结果 - Elastic Stack 8.x

    如果你搜索不经常更改的文档,则使用标准查询的分页效果非常好: 否则,使用实时数据执行分页会返回不可预测的结果. 为了绕过这个问题,Elasticsearch 在查询中提供了一个额外的参数:scroll ...

  9. java jspl是啥_login.jsp · L.lawliet/Java中软班一期二阶段Web项目 - Gitee.com

    pageEncoding="UTF-8"%> 考勤平台 href="./resource/css/style2.0.css"> ul li { fo ...

最新文章

  1. 架构设计器_MySQL:数据库结构优化、高可用架构设计、数据库索引优化
  2. PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
  3. linux java main 参数设置_Java虚拟机参数设置
  4. 教你如何一篇博客读懂设计模式之—--原型模式
  5. cocos2d-x初探学习笔记(1)--HelloWorld .
  6. MyBatis 中的mapper.xml详解
  7. python源码不需要编译成二进制代码_编译 Python 源代码
  8. 360与Bing合作上线英文搜索
  9. 亲测可用:推荐一个免费下载外文文献的网站
  10. ​越狱iOS必备神器Flex使用指南-屏蔽越狱检测的破解利器
  11. 掌握这些插件,分分钟提高你的办公效率90%!
  12. .NET(C#)生成随机姓名,随机汉字的产生
  13. 关于“程序员996”,互联网大神发话了,能顶用吗?
  14. 区块链三加一告诉你如何快速了解区块链入门技术?
  15. JavaScript基础知识学习
  16. MAC 终端命令,解压 rar 文件配置
  17. Java 基础核心总结
  18. template(模板)的介绍以及使用方法
  19. iPhone全球性竞争力乏力,苹果恐退化为区域性品牌
  20. 《TP基础篇——MTK平台》

热门文章

  1. Java后台相关知识盘点(持续更新中)
  2. 打造“大国重器”高性能计算,联想与英特尔如何携手点亮数字经济加速度?...
  3. java.lang.NullPointerException: pattern
  4. 计算机不及格检讨书800字,寝室卫生不及格检讨书800字
  5. 动作捕捉技术识别细小错位 机械外骨骼适应性升级
  6. Uncaught Error: USERKEY_PLAT_NOMATCH 的原因和解决办法
  7. 计算机网络-名词解释
  8. android hook 第三方app_不需要Root即可Hook别人APP的方法
  9. NSTextField限制输入框只能输入英文字母数字字符,不能输入中文
  10. 【Azure Data Platform】Azure SQLDW与ADLS的整合