自从数据库一诞生,人们就学会了用数据库存贮东西,而相应的程序是直连数据库的,直到程序关闭,这个连接才会断开.这就是C/S程序的最初原形.
但是这种程序有一个问题,只要一程序运行,就必须要连接据库,只要客户端一多,哪么就会有N多数据连接,而N多数据连接,可能有N-1个数据连接是无效的,也就是说N-1台机器上的程序是没有对数据库进行操作的。所以这样的话,对数据库系统资源占用很大,因为90%的资源都是浪费在无效连接上。
但是这样的程序只能适合在局域网,或者广域网上,当然这样的程也有优点,哪就是速度快,能进行 大规模的数据运算。
到了Internet时代后,一种新的概念出现了,这个时候人们需要更多数据连接,并且internet的带宽又有限,不能传输大容量数据。
所以人们开始寻求新的解决方案,于是Micrsoft就搞出了一个叫ODBC的东西,直到现在人们也还在用这个东西。ODBC有一个最大的好处就是,他有一个连接池的概念,比如有N台机器连接ODBC,有N-1台机器是静止的,哪么,ODBC就的连接池就只会连接一个,没有用的会自动释放,连接池的连接数到一定程序时,其它连接就会处于一个等待状态.直到上一个连接事物处理完后,再接入下一个事物连接。
大份的网页程序就是这样的就是就传统的B/S结构程,但是它中间有一个数据连接操作层,所以也能称之为三层.
直到J2EE诞生,Net诞生,不对,应该是J2EE首先提出数据服务这个概念,然后Net可能是抄袭Java的这种思想吧,搞了一个叫Web Service的东西。
这个时候人们对程序的需求,就发生重大变化了,要求实现业务罗辑封装,身份验证封装,数据层封装...等需求.这个时候Web Service直到2002年才被人们正式认可,尽管这个概念早就诞生了.
由于B/S的程序还是由于带宽的问题,仍然只是有服务器端运行,客户端接收数据。
也就是说网页还是在服务器端运行,所以这样的程序从某种意义上来讲,不能算是三层,正是因为人们对程序的要求越来越高了,所以多层的概念也就出来了,多层的东西,应该能实现每一层都有可以运算数据的功能。
当然web service本身就是一个多层的玩意,因为WEB Service本身就可以调用另外一个 WEB Service的方法,还可以向数据库操作数据,还可以运算数据,可以装一些业务逻辑进行封装.这一点是ODBC没有的,所以说 WEB Service本身就是一个多层的东西,ASP.NET+Web Service搞出来的东西,所以只能算是变向的三层结构,因为ASP.Net不会再去用ODBC了,但是他的理论还是以ODBC为基础 .
真正意义上的多层应该指的是 Win Form + Web Service.
还没用Net做过一个项目 ,对于高手来说我写的可能是垃圾,郁闷ing......