基于B/S模式的医院信息管理系统?

最近看了北京一家基于B/S结构的HIS,对某个文章说的方式有不同看法:

基于B/S模式的医院信息管理系统的实现

采用基于三层体系结构的B/S模式较以前的C/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方式效率高多了 :D

基于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 is computer programming (code) that is compiled to run with a particular processor (such as an Intel x86-class processor) and its set of instructions. If the same program is run on a computer with a different processor, software can be provided so that the computer emulates the original processor. In this case, the original program runs in “emulation mode” on the new processor and almost certainly more slowly than in native mode on the original processor. (The program can be rewritten and recompiled so that it runs on the new processor in native mode.)

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.