最近看了北京一家基于B/S结构的HIS,对某个文章说的方式有不同看法:
基于B/S模式的医院信息管理系统的实现
(1)资源利用率高。在C/S模式下,大部分运算在客户端完成,因此客户端配置要求较高,同时,导致服务器空闲。而在B/S模式下,大部分运算在服务器端完成,因此客户端配置要求不高,仅需能够正常显示网页即可。
(2)可维护性好。在C/S模式下,各种应用的主要部分安装在客户端,维护起来很不方便。而在B/S模式下的维护工作主要在服务器上,而且支持远程维护,客户端只运行浏览器,无需特别维护。
(3) 安全机制完善。在C/S模式下,主要利用操作系统和数据库系统的安全机制,较难提供数据加密和身份验证功能。而在B/S模式下不仅可以解决以上问题,还可以利用Web Server的安全机制或防火墙技术进行访问控制,利用cookie进行身份验证,极大地完善了安全机制。
(4)网络实时性强。在C/S模式下,数据库直接与客户端进行事务处理,一般需要做多次交互,数据更新过程繁琐。而在B/S模式下,事务处理在应用服务器上进行,数据的多次交互限定于应用服务器和数据服务器之间,网络传输量少,数据的实时更新性好。
对于基于B/S模式的医院信息管理系统上述特点,我的看法是:
(1) 资源利用是看系统设计,C/S 模式下平均分配,效率更高。B/S模式对客户端配置要求不高,但对服务器要求很高。
(2)可维护性C/S更好。在C/S模式下,做得好的客户端安装简单,出现问题卸载后重新安装,维护方便。B/S依靠浏览器,而受浏览器限制,有些HIS必须的功能如打印等需要外挂程序,出现问题维护困难。
(3)安全机制当然是C/S模式的强,如Blowfish, RSA, MD5, SHA-1, DES, triple-DES, Rijndael, & digital signing of messages 实现容易,B/S使用cookie进行身份验证不值一提。
(4)网络实时性强的当然是C/S模式,使用TCP/IP通讯效率高,这个比http的request/post方式效率高多了 😀
基于B/S模式的医院信息管理系统从根本上是不能和C/S模式的HIS比的,C/S做的好的HIS是Native Code,而B/S模式需要浏览器,是一种松散模式,如果HIS功能越强大就越难管理。B/S的主要应用应该是小规模医院,对客户端要求低,应用不复杂,投入少。
B/S模式HIS和C/S模式HIS因为结构不同,定位也不同,而不能片面说B/S超越了C/S模式。
Native code 解释
Native code can also be distinguished from bytecode (sometimes called interpreted code), a form of code that can be said to run in a virtual machine (for example, the Java virtual machine). The virtual machine is a program that converts the platform-generalized bytecode into the native code that will run in a specific processor. Microsoft's .NET compilers for its Visual Basic, C#, and JavaScript languages produce bytecode (which Microsoft calls Intermediate Language). Java bytecode and Microsoft's Intermediate Language can be compiled into native code before execution by a just-in-time compiler for faster performance.