[Eclipse插件开发系列] 移动网管系统开发:(1)前言
*************************************************************************************
作者:陈刚,桂林人,97年毕业于广西师范大学数学系,专注于java平台。曾为中国电信、中国联
通、台湾建华银行开发过软件,现(2004.2-?)暂在IBM中国研究中心进行Eclipse插件的开发(外包)。
Email: glchengang@163.com
blog:glchengang.yeah.net
*************************************************************************************
简单的考虑:这个系统的稚形来源于二年前我所做过的一个项目,这个是一个中国联通的省网网管项目,由后台数据处理收集程序+数据库+前台数据显示程序(网站和一个VC++写的应用客户端组成)三大块组成。由于我曾是这个项目的项目经理,所以对这类系统的开发比较熟悉,用来做自主开发的切入点也是比较合适的。
移动网管系统简介:电信运营商(主要就是移动、联通),拥有遍布全国的机站,手机与手机之间的通话数据就是通过这些机站网络来传递的信息数据的。机站会将这些自身运行数据(这些数据包括通话次数、掉话次数等)汇集到一台中心服务器上,这台服务器称为OMC。而本移动网管系统就是对OMC中的这些汇集的数据进行分析管理的一个系统。
一、可行性分析:
市场价值。
Eclipse插件开发的系统的市场定位在哪里呢?我认为不应该是windows平台,在windows平台它是很难拼过VB.net和delphi的。但UNIX就不同了,在UNIX平台下SWING太慢太丑太笨重了,C++又太困难,因此在UNIX平台就会有Eclipse插件开发系统的生存空间。而电信供应商的应用平台基本上都是UNIX平台,所以这样的系统还是有它的实用应用价值和生存空间的。
曾在MSN和一位市场人员聊起如何创业,她说只要有过硬的产品,就能找到市场,我说只要能有市场就能拿出过硬的产品。开发人员和市场人员看问题的着眼点总是不尽相同的。由于这个系统的用户是电信运营商,没有强硬的后台关系,要进入这个市场,想都别想,所以我并不期望它能做为商业产品卖给他们。
现在网管系统成功被应用的不多,我认识一个在这个领域里最大公司的一位技术员,他说他们的项目失败了,客户不满意。而设备供应商(朗讯、摩托罗拉、西门子、华为等)的设备配套软件的功能也不是完全适合电信运营商的使用需求,更无可定制性可言。因此把本系统做成一个开源的项目,或许电信的低层的技术人员会有兴趣把它做为一个小工具来使用吧。
即使没有市场吗?做为教程来说我想对希望学习程序设计和Eclipse插件开发的初学者还是有一定价值的吧。
技术能力。
由于我以前的网管系统经验,所以需求方面基本上不会走样。我还有过大半年的Eclipse插件开发经验,所以也有写这个系统的技术能力。
版权的问题。
由于这个系统的开发来源于我早前一个公司的工作经验,因此很可能会涉及到版权问题。但由于这是一个非商业的开源系统,而且我并末借用任何原系统的程序代码和设计方案(原来一个类似功能是用VC++做的,我没有参与设计和开发,只负责了项目的管理,而且我不懂VC++),另外我和该公司一年的保密协议合同也已到期了,所以我认为是不会存在版权争端的。
这个系统的需求是参考<<中国联通省级移动综合网管系统功能需求书>>2003年1月版来做的,是完全基于此需求上的全新设计。
时间和精力的问题。
我有这个时间吗?我有这个精力吗?我真的不知道,我会坚持下去的,尽力而为吧。
二、程序构思
易用性。
软件行业的易用性问题如此之突出,所以我会将易用性放在首位,我认为易用性也是微软成功的一个密诀之一。如果在功能和易用两者间做选择,我会选择易用性。
可修改性及良好的扩展性。
网管系统的变动最大的部份是OMC服务器的软件版本的变化,这将有可能导致本系统数据层的变动。做软件的人都知道数据层变动是最麻烦的事,对系统的影响和改大是最大的。因此保证数据层对OMC升级的高自适应性和低修改量,这是一个必须要面对的难题。
三、技术选型:
Eclipse插件 + Hibernate +MySQL。
之所以用hibernate,一是我已习惯了用它、二是以它做数据库中存储中间层,可以将数据库种类的变动影响降至最低。不过OMC服务器大都是用Oracle,但我也见过华为的OMC是用SQL Server的。
数据库用MySQL一是因为大家比较熟悉,下载安装也方便。
我唯一但心的是Hibernate的速度,因为电信级的系统面对的是海量数据,直接用JDBC或许速度更快些,但我看到有论坛众多人士的分析认为Hibernate和直接用JDBC在速度方面的差别不大。