返回列表 发帖

[HIS] HIS为何要增加中间层?

收藏 0

性能提升没多少依据,维护方便只是传说中的。公司开发把客户端的一部分功能集中起来,统一管理,也许会有点用,对于客户来说,目前看不到太多的好处。

TOP

好处多多

比如可以让你的产品支持多种界面,比如一套Windows窗体的,另一套是WEB的,还一套手机版的。如果你把逻辑都写在界面中咋办?开发三个完整的产品,还是只写三套界面?

可以让你的产品支持多种数据库。比如你是否希望让你的产品使用任意的数据库?比如Oracle,SQL Server,Sybase,MySQL等等,让选择数据库的权利交给客户?你把逻辑都写在存储过程中咋办?开发这么多套完整的产品,还是只改改配置文件?

说说速度,A在客户端费了老大劲查出了一个非常复杂的报表。B在另一个客户端也想要同样的报表,你咋办?是让B又费老大劲再重复查询一遍,还是将刚才A查询的结果直接告诉B?

说说部署,当用户需要修改一下业务逻辑时,你是否需要让几千台工作站全部更新一遍程序,还是只修改一下服务器的程序?

再还有很多是开发方面的问题,是用面向对象建模的领域模型本身和外部环境,比如界面和数据存储以及接口等边界性问题。这个原因其实是本质,不过几句话也说不清楚,以后有机会写点东西专门论述。当然,如果没采用面向对象技术也不会有这个问题。

TOP

鉴别一个产品是否是三层结构可以主要可以考察:

界面里是否不包含任何业务逻辑?

有没有使用存储过程来实现业务逻辑?

有没有采用面向对象建模?(这点不绝对,不过如果不用面向对象,中间层的好处就少了一大半)

TOP

回复 4# tc1930


    楼上,"有没有使用存储过程来实现业务逻辑?"这点也不绝对,Oracle Application(从名称上看.就知道是应用服务层),建议构建方式中,就包括存储过程,应用服务层是可以是基于存储过程再包装;当然,你如果希望是支持各种数据库的中间层,可能就不适合.

TOP

如果设计得好的产品,一定是采用面向对象的技术的,也一定是应用逻辑与界面分离。其实三层就是把客户端的应用逻辑抽出来做成应用层。

你们也不要用老眼光去看待两层结构,三层的一些做法和优点也已经用在两层结构上了,两层也在进步,不要简单的去评论两层和三层。可以说两层做不到的,就是不可能实现WEB方式。其它还看不出有太多差别,尽管内部差别很大,表面看到的东西基本上是一样。每一种架构、每一种技术都有它的优点和缺点,都有它适用的场合,没有万能的东西,评价要全面分析。

到目前为止,国内医院用的三层HIS确实没有比两层有什么特别的优势,包括国内的产品和国外的产品。

理论性的东西如果没有在实际中经受考验,也仅仅是理论。

TOP

回复 5# qad9539


    换个角度想想,Oracle最赚钱的是数据库。他当然建议你的构建方式用储过程。微软也是一样的,微软的大部分示例都用的是存储过程,不过是SQL Server的。如果说应用服务层可以是存储过程的再包装,那包装多少才算“一层”呢?如果我99%的逻辑都写在界面或存储过程里,1%的逻辑写在中间层。这算不算三层结构?如果算的话,我认为也是“伪三层结构”。另外,楼上的,两层结构也可以实现WEB,大部分的ASP,PHP,早期的JSP程序都是两层的,也就是直接把逻辑写在页面上。

TOP

另外,我想请问,你分层的目的是什么?

不要为了做三层结构而去设计三层结构。

两层结构的程序,因为把业务逻辑混杂在界面,数据库中,所以在逻辑比较复杂的企业应用程序中,这种结构开发和维护起来很不方便。所以才提出要把业务逻辑抽象出来单独为“一层”,成为三层结构。

如果你抽了一个业务逻辑层出来,但还是把业务逻辑分布在界面和数据库中。那你的目的是什么?只是为了让你的产品可以被打上一个“三层结构”的标签?

TOP

其实用多少层没有什么特别的意义,看公司开发什么软件,开发技术掌握如何,改变架构带来什么好处和坏处,单纯讨论多少层是很空洞的。

TOP

希望高手们能深入浅出的给大家讲讲什么是三层,什么是二层。

TOP

这个只有做开发的人才能体会好处,说多层的好处更多是从开发角度,从软件设计模式,从设计思想考虑,如果硬要找出对客户的好处,只能说很少,客户更多关注UX和性能,对于软件用了什么架构和设计模式根本不是很关心
天边的那一抹晚霞固然很美,却也无法挽留西坠的残阳

TOP

没有做过开发,路过学习。

TOP

三层、两层对用户来说有什么区别?

TOP

个人觉得三层在部署发布方面有相当优势,但管理复杂要求高
我们是三层
LE+WAS+DB2
You are your master!

TOP

扩展使用新技术哈
自我就是自我

TOP

把业务逻辑封装还是有益处的。
谦虚!专注!

TOP

路过学习下

TOP

使用中间层对于软件厂商来说好处是挺多的。。
热爱医疗,热爱生活~

TOP

返回列表