关于12306:传统信息化系统面向互联网应用的挑战

开发 项目管理
大型信息化系统提供互联网应用越来越多,从移动电信的网上营业厅、银行网银,到现在的12306火车售票,可以说每一个系统的互联网服务都给大众生活带来非常大的变化,每个系统都有具大的挑战,从支付方式、网络安全到12306的高并发性能挑战。
  1. 叶正盛的新浪微博:http://weibo.com/yzsind 

大型信息化系统提供互联网应用越来越多,从移动电信的网上营业厅、银行网银,到现在的12306火车售票,可以说每一个系统的互联网服务都给大众生活带来非常大的变化,每个系统都有具大的挑战,从支付方式、网络安全到12306的高并发性能挑战。

12306系统做的很烂,从去年春节的登录不了,到今年十一的排队,到后来的招标价格,还有最近的SQL注入安全问题,这些都是最近非常热的新闻。

不管是易用性和性能都很差,但是我认为他的功能不错,值得肯定的。有了12306后我从来没有去过火车站买票了,有了12306后黄牛党转行了,可以说12306确实是给我们带来了便利,不像一些电子政务系统都是摆设。

网上爆料说新12306软硬件成本3.3亿,微博上很多人说成本太高,甚至有人说几十万可以搞定,不管这几十万是纯软件还是包括硬件,那都是很可笑的,甚至侮辱了我们IT人员的价值。如果你认为几十万能把这个事情搞好,那估计IT人员的年收入就几K吧,你做一个支付宝系统估计也是小菜一碟。3.3亿看起来很高,但是相对铁路建设几万亿的投资,高铁每公里上亿的造价,你感觉3.3亿是多是少?3.3亿在国家级信息化建设项目里不算高,像电信、电力、银行这种行业1个省的信息化建设都需要这个投入。在我看来,整个系统最终成本也许远不止3.3亿,因为这3.3亿只是招标公开的价格。因为我们不了解系统的复杂度,但从规模来看3.3亿不算高,如果3.3亿能把这个系统搞好,那带来的价值何止3.3亿。羊毛出在羊身上,如果这个系统建设只要500万软件费,除去 50%的市场开销,只有250万给实现系统建设,250万的软件费用能请到什么样的人员设计开发,还要服务3年,现在一台好的小型机或存储都需要这个价,高端中间件软件或数据库软件采购也要上百万。

前段时间微博上12306一个SQL注入的问题反应出来,select * from TB_INFO_CLCS where flag = 'Y' and czdm ='G' and cxdm like '%' 6%' order by cxdm

这个SQL引来的讨论真是有意思,有说SQL注入问题,有说前台直接抛异常问题,有说hibernate问题,更有意思的是很多人说like '%%'性能问题,其实这也说明了有大部份的开发人还不一定比12306的人水平高或者只是跟风。这也可能是有人说几十万能把系统搞定的原因吧。

去年春节可以说12306是上线比较匆忙,铁路系统人员大变化等原因,可以理解,但是今年十一还是没搞好,这就说不过去了,也许是12306本身的问题,也许是原有核心售票系统容量问题,但是对于用户来说不管什么问题,都是铁路系统的问题。

信息化系统提供互联网应用,有很多技术挑战,面对的是大众用户了,在系统性能、易用性、安全性等方面都是不一样的技术挑战。系统性能是大家最关注的话题,有很多种架构来解决问题,但我认为好的性能架构不一定是设计出来的,但一定是测试与迭代出来的,前期把关键性能瓶颈评估与测试出来,再验证改进架构的可行性。一定要评估缓存在测试中的影响,否则可能导致评估数据完全错误,悲剧就要发生了。安全性是技术积累的过程,需要有全面的资深安全人员把关,让程序员来全部考虑安全是不可靠的。如果你对信息化内部系统说他有XSS漏洞,他会说你神经病,就好像互联网要解决一个拿modem拨号上网看优酷高清电影说性能不好一样的问题。

易用性是一个无限改进的过程,很多人说12306的界面丑陋,易用性不好,但是我认为还行,能查询能订票就很好了,不奢求。以前说过,易用性决定着一个系统的用户增长速度(http://blog.csdn.net/yzsind/article/details/6795402),但对于12306来说用户增长速度不是问题,因为它买票也不收取手续费,现在还不是要解决农村人员如何买票的问题,或者是有竞争对的提供同样服务的问题。

说了12306这么多,我谈谈关于互联网软件与传统信息化软件的区别吧:

1、用户数

大型互联网系统面向的用户一般都是大众网民,如百度,QQ,淘宝,支付宝,微博,优酷等等,当然也有一些面向专业化的用户,如汽车之家,搜房网,世纪佳缘,CSDN,ITPUB等等,几个面向大众网民的系统用户数都达到亿级别,面向专业类网站也有上百万甚至上千万的用户。信息化软件的面向的用户一般都是一个企业的内部用户,内部用户不太可能会超过50万,大多都是在几百上千的规模。所以两种软件在用户数方面有几个数量级的差距。

2、事务数

事务通常指完成一次交易,如移动客户收一笔费,ERP系统一笔出库,电子商务一个订单,支付宝交易,买一张票等等,但由于许多系统并不是交易系统,所以有些系统把数据写入的操作计算为一个事务,如发一个微博,发一个贴子等等。因为事务的完成内容不同,所以并不能以事务数来衡量系统性能。有许多人认为互联网系统的事务数远比信息化系统高,但我不这么认为,淘宝系统可以说非常复杂,一天交易笔数超过1000万。传统信息化系统也不少,以一个省电力缴费为例,如果用户数大约1000万,60%的用户集中在收到电费通知单3天内完成缴费,也就是一天可能会发生200万笔缴费交易,远比除淘宝外京东、当当这类电子商务系统量大。 我认为事务数这个参数只是用来描述业务规模,不同系统通过事务数对比来说明性能没有任何价值。

3、用户行为

互联网面向的是大众用户,信息化系统面向的内部用户,用户行为差异很大:

大众用户没有经过培训,内部用户一般都会有使用培训;

大众用户99%的人不会去看帮助说明,内部用户80%看过说明文档;

大众用户计算机水平参差不齐,内部用户计算机水平一般有基础保证;

大众用户会使用各种浏览器访问系统,内部用户可以指定浏览器类型;

你无法控制大众用户什么时候来使用系统,或者什么时候暂停使用;

当系统出现问题时,你不好及时指导大众用户操作行为,但内部用户通过一定的行政方法可以搞定。

4、安全

互联网系统的安全挑战很大,信息化系统的安全环节一般很薄弱。

互联网系统对公众开放,并不限制用户类型,一些黑客人员可以利用系统安全漏洞来获取利益或者破坏系统,包括获取用户隐私数据、非法修改交易数据,甚至是删除数据或者是让系统不可用等等。

信息化系统一般不对公众开放,可以限制用户类型,所以从入口来讲信息化系统安全性较好。

由于信息化系统的用户是所谓的“良民”,所以很多软件在安全方面很薄弱,包括如SQL注入、XSS等方面都不太考虑,因为即使有这些漏洞,内部用户也不敢去利用,因为利用漏洞操作已经属于犯罪行为,就好比同事抽屉里有1000块钱,就算抽屉没锁,你也不会去拿这钱。

由于软件本身的安全很弱,所以企业信息化系统很多都搞内外网物理隔离,保证外网用户不能访问到内部系统,很多企业在硬件安全方案上投入更多。

很多软件都有漏洞,包括商业软件和开源软件,有些漏洞在修复前就公布出来,互联网系统会特别关注这些方面,因为不及时处理很可能会被黑客利用。信息化系统很少关注这方面的问题,甚至有些软件从安装上去后就没有更新过。

5、24*7

互联网系统一般都是24*7的服务,信息化系统许多只做到了5*8的服务

对系统服务时间不同,系统的设计策略也完全不一样,互联网系统很在意系统的可用性,一般所有层面都会有集群或热备,大部份升级都是在线操作,除非大的系统升级或基础设施变化,才会考虑在凌晨停机维护,减少对用户的影响,停机时间也不会超过8小时。

一般信息化系统软硬件升级都会停止服务,很多时间还是在白天操作,有时还会看到停止使用3天的公告,除了对数据有备份外,其它的层面较少考虑备份。 信息化系统当然也关注系统可用性,但是相对互联网系统来说差远了。

6、可扩展性

大家都知道系统可扩展性很重要,互联网系统由于前期收益不确定,所以投入成本也不高,同时还需要考虑用户爆炸性发展,所以可扩展性在系统设计时会考虑或者是做好升级方案。

信息化系统一般是基于确定的用户规模设计,虽然供应商会说系统可扩展性好,但实际上他们更多是考虑满足本期需求,如果将来有大的变化应该是重新设计方案,这样供应商的收益更好,风险也更小。

信息化系统很少在数据存储方面考虑可扩展性,基本上都是集中存储,有时做一些垂直拆分,基本上不做水平拆分,因为水平拆分难度大,风险高,有时硬件并不是由软件供应商采购。

7、用户体验

互联网系统很强调用户体验,因为你没有机会给用户培训,如果用户感觉系统不好用很可能就流失,而信息化系统不太考虑用户流失的问题,用户体验是无止境的,信息化系统更多是考虑统一的操作习惯就行了,界面也不会花哨,更多是统一界面样式。用户体验对于信息化系统收益没有互联网系统那么明显,高的用户体验实现成本高,并且还会影响系统的功能扩展性。

8、用户需求

互联网系统更多是在挖掘用户需求,信息化系统更多是实现需求。

用户需求对于互联网系统来说就是生命,就是收入的来源。

信息化系统从合同签订后,需要做的事情是实现需求,供应商更希望减少用户需求,减少需求可以减少项目风险,也可变为软件升级合同费用。

9、投标竞争

互联网系统的竞争是在产品出来之后比较,信息化系统竞争是在合同签定前比较,那时根本还没有产品。

互联网系统的竞争比较激烈,每种系统都会有几个竞争对手,而且竞争都是产品与产品的直接比拼。

互联网系统没有直接的投标概念,大的信息化系统一般都需要投标竞争,这个是整个工程挑战最大的地方,供应商的技术实力是一方面,更重要的是市场能力的比拼。

10、系统成本

互联网系统的建设成本一般都是由自己承担。

信息化系统成本一般都是使用方承担,包括所有硬件和软件采购成本、人工成本,由于计算成本非常复杂,也需要对专业的了解,所以实际大部份是由系统提供方根据使用方的需求提供报价清单,然后双方洽谈达成,最后由系统提供方代采购和安装部署,对于整个系统中有些通用硬件或软件,使用方可能会采用分多个合同或供应商招标或统一采购的方式处理。

原文链接:http://blog.csdn.net/yzsind/article/details/8041983

 

责任编辑:林师授 来源: 叶正盛的博客
相关推荐

2017-07-26 15:05:35

2015-06-11 10:15:05

互联网+

2013-01-17 10:03:25

门户移动互联网盈利

2017-02-21 13:00:35

互联网电子政务信息化

2016-06-13 17:29:15

互联网+

2014-09-11 15:39:43

2013-08-20 16:03:16

CIO

2013-10-28 02:31:46

2011-07-19 10:32:22

云计算信息化

2013-01-16 11:34:29

IT系统宕机

2015-03-25 18:31:20

互联网+

2010-03-12 18:07:43

信息安全互联网企业

2014-03-14 17:31:45

IT渠道互联网化

2011-05-19 09:21:37

互联网信息化

2013-11-12 15:29:31

2015-05-11 11:06:43

统一基础架构系统华三通信UIS

2015-10-15 16:22:22

用友网络互联网化

2016-08-18 19:42:47

用友互联网化

2014-09-24 13:36:30

创新

2011-07-29 09:42:52

云计算信息化
点赞
收藏

51CTO技术栈公众号