对于软件的构架一直是大家比较关心的问题,从最初的单机桌面,到后来的CS结构,再就到当前的BS结构。其中CS结构最代表性的两层结构与三层结构。
就中国当前的软件开发模式来看大部分开发商都是小作坊式少则四到五人,其中大部分在20~30人,并且都并不是非常专业,可以说是"马虎吃天"什么都做,什么财务软件、什么ERP制造业管理软件、电子商务、呼叫中心。。。统统都不在话下。而目前大部分企业的客户站点都在10~20个,上百个站点的企业可以说是寥寥无几,通常是因此三层结构的软件体现不出其优越的效能。从这两个方面来看选择两层的结构比较不错。
以前用的三层结构主要是把业务逻辑放在中间层上,从一定程度上缓解了数据服务器的复杂度,但目前大部分的客户把中间层和数据服务器放在同一台机器上,不但不能减轻数据服务器的负载,反而是多此一举。并且也不是很好维护,出了点错误都不知道到那去调试。对于两层结构可以吧业务处理完全放在数据服务器,更何况两大数据库(SQL SERVER和ORACLE)早对多种访问机制又非常优秀的处理方式,中间层的业务处理完全可以用存储过程、触发器、函数等来实现,对于复杂一点的报表可以用试图来实现,维护起来工作量也不是很大。