华为T2000网管系统分析(2)
2 基础分析
2.1 安装T2000
T2000的安装包(我使用的版本是Windows 版T2000V200)刻写在两张光盘上,第一张是T2000的安装包,第二张实际上是SQL Server2000的安装盘,不清楚华为一起提供SQL Server2000产生的版权关系。实际上,你也可以自行提前安装好自己的SQL Server,到第一张盘的T2000安装结束时,指示安装过程自动初始化它即可(需注意要记住sa帐号的密码)。
安装过程按提示进行即可,完成后桌面上会出现两个新图标,T2000Client和T2000Server,顾名思义,一个是T2000网管的图形客户端,一个是T2000网管的服务端程序启动入口,没有采用注册Windows服务的方式。
启动SQL Server,服务端以及客户端,登录成功表明你安装完成。
2.2 目录结构
打开T2000的安装目录,可以看见以下的目录结构:
client即客户端所在目录,server即服务端所在目录。其他几个目录主要是一些辅助工具,比如sms是短信发送相关的工具,toolkit是SDH设备软件加载和备份工具。
客户端目录下的主要结构如下:
其中,bin是程序目录,java客户端的启动点,device是各种设备对应的jar包目录,jre是自带的java运行环境,help是T2000主帮助所在目录。
打开server目录,可以看见以下目录结构:
打开bin目录,可以看见大量dll文件,通过名字,我们可以知道T2000使用了大量自己以及第三方的库,特别是ACE﹑TAO﹑XERCES等相关的第三方库,由此也可以判断,服务程序基本上都是用C++开发的(ACE是跨平台C++通信库,TAO是基于ACE的CORBA实现):
2.3 许可证
T2000的许可证采用与MAC地址绑定的方式,可以在许可证里定制所需功能;许可证以文件的形式提供(位于server目录下,文件名如license1000021.txt),须向华为索取,文件的内容如下:
License File,Versoin:iManager T2000 V200R001
-----------------
Huawei Technologies Co., Ltd.All Rights Reserved.No part……
-----------------
ContractSerial =
User =
NMName =
-----------------
Created at 2005-06-02 17:04:09
155/622 = 500
155/622B_I = 500
155/622B_II = 500
155/622H = 500
155C = 500
155S = 500
2500 = 500
2500+ = 500
2500REG = 500
BWS1600G = 500
BWS320GV3 = 500
BWS320G_OAS = 500
BWS320G_OCS = 500
BWS320G_OIS = 500
METRO100 = 500
METRO1000V3 = 500
METRO1050 = 500
METRO1100 = 500
METRO1600 = 500
METRO200 = 500
METRO3100 = 500
METRO3600 = 500
METRO500 = 500
METRO5000 = 500
METRO6020 = 500
METRO6040 = 500
METRO6040V2 = 500
METRO6100 = 500
METRO6100V1 = 500
METRO6100V1E = 500
METRO800 = 500
METRO800C = 500
MaxClientNum = 8
OSN1500 = 500
OSN2500 = 500
OSN3500 = 500
OSN9500 = 500
SupportAlarmAnalysis = 1
SupportCorbaIFAdv = 1
SupportCorbaIFBase = 1
SupportIPEndToEnd = 1
SupportOAMS = 1
SupportOsn = 1
SupportSDHEndToEnd = 1
SupportSonetEndToEnd = 1
SupportTODB = 1
SupportWaveEndToEnd = 1
MAC = 00:00:00:00:00:00
License = A26F90385ACE5FD944BFDC707BD65896AC15AE2BAD4DD6E33F09E920A0E1F24452F1F31F7095722D88C3A935C487C8989A99C01DF9C9FB02C7F57E939143461B67FDEBA9A49F34E95E26D5AF71FA712314963DBAC644C68A2EBE0C2842439E82E0342FC2A1820CEF7B94A1ED81CB48519249E3DD39BC12318504F809C8CEA81C44FA80729249B0C39A59575DDFA1C0372F856FCD064E62F3A980C9E5392E3971B57016143EDF29DCF95FB2C2BCF7F1AC97A46E98D72F313CF95FB2C2BCF7F1AC54975F12280D786DC6D216C4D75911A0F94D4C8DF3E72543445880F28841B91C44DFB9024532DC1D0C78400C1AD23E2B8400AACFC2D9F80B2BC349179B44A53AE0279C7302AED4DBF54A8D6DF4362CF19A1A4C99948FEA158B8168C55016DB1DCEF5C02E9C6ACA6B8504F809C8CEA81C3A240B73DA00AB4E8504F809C8CEA81CEFA82E34B930EA62C2F190A9499FCFD35D71AAD403796564C2F190A9499FCFD3D69E0705E7843269C2F190A9499FCFD3E5C5A881188958B52BC349179B44A53A22B2C25E4F46A2342BC349179B44A53A3C2618C183FDD16F2BC349179B44A53A14E6877A10AE546C2BC349179B44A53A14E6877A10AE546CE1AB0672B752E50A058B7814DA8DDEDC8504F809C8CEA81C058B7814DA8DDEDC6B8CE62988E3DCFD176E4AB7F7F2240E51DAB83219C75CC3CA956D8828148857D3E5FBACA08B38C9E3383C2E1EFFA8A19B20BB5CFF8A708DF2ABAB7C375429A3B0CF42ABDB167EB8835DE189F89686628188086246D30013E1B9DFE2D62BE2D6F3EFD5C5358DA22A0A23FE9F45B6AF8EC2F190A9499FCFD33E8D07544419154FC08B6A35AE95DA12A23DA4F061C2D8ACB2008AC74025480C9B9D454E9FE6B4DAAB98E680170F4741A5D7C95FF88CDBAA309347B96B19BDC3BBB252AEB0B98FBE13017ED8E140837699694A5CC572C099AF3DAFBC2EF7067D2F9C99D4CD5C3677648C1905E6BAC98116F9E5DC5B12CCC1648C1905E6BAC9819F682449F664FCE60106540DA8D87046508B75DE21AE44958B720E4D975B6B0E2A1DDDB20C7A7F1C1B431E535DEFCD83F4DAF9CC989ACF280106540DA8D870468C95D02FC91531AC0106540DA8D870460C8AA79FEED760F6F4DAF9CC989ACF28FAA9A7F30F5E5B4CD34363E1E0907DAEF53E74A786F3FDB3BF857BF3F94014ED
可以看出,该文件前面部分主要是对管理的设备数量,支持的可选功能等进行规定,最后是用某种加密算法进行校验(具体的算法未知)。
2.4 多语言
T2000的多语言也是用外置文本实现的,有ZH字样的目录或文件代表中文配置文件,EN或C字样的代表英文配置文件,文件的内容类似于ini文件
2.5 跨平台
T2000同时支持Windows,Unix两种平台(分别使用SQL Server和Sybase数据库)。
客户端开发使用java,服务端使用跨平台C++库是T2000实现跨平台的关键。
2.6 开发方式
界面部分(包括Server部分系统监控客户端)都是java实现的。服务程序都是C++实现的。
值得一提的是,T2000客户端java界面使用了iLog的图形空间jtgo,这是非常流行的电信级java视图显示控件,可以实现专业的拓补图显示和设备面板等。
客户端的第三方库目录:
可以看到基于java的各种第三方库,如JACE,xerces ,jtgo ……
T2000V200服务端使用ACE实现通信框架,使用TAO实现Corba接口服务,相关的实现技术(主要是第三方库)有:
1)ACE/TAO 5.4.7
2)SNMP++V3, agent++
3)XML库 Xerces1.5.1
4)SSL库 OpenSSL Shared Library 0.9.8
5)命令行工具 Tcl 8.4 for Windows
6)TMF814支持