互联网和传统b/s软件系统开发的异同之基础篇
(2013-06-01 10:19:48)在IT业摸爬滚打了十来年,参与开发过的网站、软件系统说不上太多,但也有几十个,主要是基于网页形式的开发,从中也体会到一些网站和软件系统开发过程中的一些相同或差异的地方。
其实网站,也属性一种应用软件,只是现在被普遍认为网站只是一种供娱乐消遣事物,而软件是处理单位业务数据或者一些日常使用工具。但这只是大众的一种意识,对于专业人员来说,它其实都是一类东西,也是需要经过开发程序才能实现的。
从2002年开始,软件系统便从传统c/s结构慢慢向b/s结构转换,随着互联网的发展,现在大部分的管理系统都是基于b/s的了。基于b/s的系统一是简化了客户端的维护,节省维护成本,二是能更好的规范开发过程中遇到的一些问题。现在移动应用也正在快速发展,很快移动应用的软件管理系统也会最大化的流行起来。
在这里我主要讲一下在开发过程中,网站和应用软件的一些异同,帮助初入行业的同学了解这个是相同行业但是不同专业的异同,以便能更好的决定自己的专业方向,也希望能有同行一起探讨这个问题。
这篇基础篇主要讲一下互联网和应用系统的一些基础方面的异同,更深入的会在后续篇幅中进一步分析。
1、访问方式上的异同
在访问方式方面,互联网的访问主要是开放性的,即对只要能连接到互联网的用户,都可以进入网站浏览信息,访问用户量不好定量;而应用系统一般是对内网用户开放,且大部份是在局域网内进行访问,访问用户有限且可以定量,对网络带宽要求不高。
访问量和并发量方面,互联网的用户要求较高,如果一个页面很长时间打不开,用户会直接关闭走人;而管理系统大都是内网访问,只要不出现严重的网络风暴,网速是否会出现什么问题,除非系统设计有问题导致服务器无法及时响应。
对数据实时性的的要求也存在较大的差异,网站开放给用户的内容一般情况下不会存在变动,即内容一生成,几乎不会什么改变,即使是动态数字类的统计数据,也可以使用动态加载指定数据的方式实现,避免用户浏览网页的体验,因此在这方面可以使用很多缓存机制解决,避免对服务器造成大的夺力。而管理系统则反之,管理系统的数据可能会实时的变化,因此对一些数据无法做缓存,只能实是对数据库进行查询和修改,这就需要在设计上具有更高要求。
2、用户体验上的异同
对于用户的体验,在产品设计上我理解的分为两种,即UE和UI。UE是用户体验,需要在页面结构上进行设计规划,使用户使用起来符合日常操作习惯,比如哪里放输入框,哪里要放置按钮等;而UI则是界面设计,即与用户的直接接口,是美观设计的范畴,美工根据UE界面结构,进行界面的装潢设计,达到视觉上的享受。网站的界面设计上对美工要求比较高,界面要图文并貌。而软件系统的界面则可以粗糙一点,不需要在美观度上做大的投入,只要不影响用户操作就可以能过,因为管理系统的要求就是业务和数据上不出差错,其它方面则可以容忍。
另外开放的网站有很多同类,一个网站无法满足用户需求,他可以转投其它网站;而管理系统由于是对单位的业务数据进行管理,所以对员工要求是必须要融入,并学会使用,带有强制性要求。因此这两方面也是造成网站开发和系统开发有较大差异的原因。网站开发人员需要有一定的页面样式基础,而软件开发人员只要会一些基本的开发技术就可以胜任。
当然也不是说软件系统就不要求界面美观,追求美是每个人的权利和天性,所以软件系统也是需要投入一定的精力在用户体验上,为用户创造便捷是软件设计的一个不可乎视的目标,否则就没有竞争力。
3、系统架构上的异同
网站的访问量可能非常大,所以需要处理并发访问的问题,现在也有很多方式来解决高并发引发的一系列问题,比如使用缓存机制、使用CDN、集群和负载均衡等。
网站和软件系统都会遇到访问量过大的问题,所以在集群和负载均衡方面可能使用一样的架构配置。但是因为网站的大部分数据对用户来说是“静态的”,即数据不会发生什么变化,因此可以采用缓存机制,比如页面缓存,可以使用第三方软件来实现,像squid、varnish等都是比较有效的系统,可在较大程度上解决主服务器负载过大的问题。而软件系统则不一样,软件系统的数据只有很少一部分需要缓存,而且这种缓存也基本上停留在数据集这块,因此不能像网站那样做页面级的缓存,这在数据实时性要求上很高,针对高并发,只能从软件系统和数据库方面进行优化,如采用分布式设计,把一些特殊功能通过远程调用或消息机制分解服务器压力。
4、数据处理和业务流程的异同
网站和软件系统在业务处理上差异较大。网站针对用户的业务数据相对简单,如商务类的网站只要求用户注册、下订单、付款、收货或退货,不存在业务流程审批这一复杂的功能。而软件系统更多的是处理业务数据,比如请假申请流程、报销流程、文件收发流程等,这些看似单一的业务流程又可能会影响其它业务数据,比如请假会扣薪水、会影响考勤统计,而有些流程又存在同意、退回或禁止等业务,所以软件系统在逻辑上显得更为复杂。
当然网站也并非想象中的那么简单,只能说是对网站访问用户要体现得简单,但是对后台管理业务上,也会存在较多的流程和业务数据处理,也会存在申请审批过程,在这一点上,网站的后台管理实际上就是一个纯软件系统。
从大的方面来说,网站着重于用户体验,而软件系统重着于业务数据的处理。