`
lgx522
  • 浏览: 124637 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

RoR要在企业领域成功,必须过实时性这一关

 
阅读更多
最近在弄RoR,几乎也快成Java的叛徒了。
谁让RoR做Web+DB就是Easy呢?一个字,爽。

由于本人的工作实际上是在医疗行业做系统维护的,工作时间成天面对的是那些个讨厌的PB程序。有的时候就在琢磨,什么时候能不能有公司也用Java或RoR做一套完整的HIS,来取代这些个五花八门、乱七八糟的C/S程序,达到信息资源整合的目的。
前阵子见某公司用C#搞过一套,还是很成气候的。不过本人对MS早已敬而远之了,加之实际看下来,性能不过了了,才知道.NET的后台处理能力是不如Java。

医疗行业的业务系统,对实时性要求很高,这是导致技术上过时的C/S系统继续垄断的重要原因。尤其像门诊相关的系统,几个延时下来,操作人员恨不得把机器扔了。PB这类C/S技术做的系统,代码设计之烂惨不忍暏。从长远看来,极难维护和扩展,重用则基本不可能,但眼前的实时性还是满足的。所以,当前医疗行业的信息系统,普遍存在着这样的尴尬局面。

曾经考虑过以Java作为解决方案,即业务操作为主的部分采用Swing或Applet作界面,查询为主的部分采用Web。这种方案最适合的技术无疑是被打入冷宫的EJB(不得不说,EJB一开始就把桌面程序和Web并重,的确是深知企业的需求,企业的业务系统的确不是当前Web的实时性能够满足)。Spring做后端是比较简单,可惜一上来就是冲着Web去的,RCP并不成熟。
这几天开始接触EJB3了,发现比以前简化得多了,不知能不能满足以上需要。这个问题请有经验的同道们一起讨论。
前些天看一些同道用Java后台+WebService+WinForm做前端,本人实在觉得不妥。其实Swing开发起来及运行速度不比WinForm慢多少。结合RMI比WebService快多了。看来自从倒EJB运动以来,大家对EJB以至于Sun的官方技术几乎形成了一种歧视,这完全是没有必要的。Sun以前的技术在重量级领域非常之优秀,只是大家大多数情况用不到。现在开始着手经量级了,大家还是应该尊重一下。

RoR做Web那是没得挑了。可惜企业业务系统的实时性要求就如游戏,稍微慢一点就爽不了。即使用现在流行的Ajax,开发起来繁得很,最后的速度和C/S还是差几个数量级。这样的程序拿到企业,最终还是很难说服领导,因为领导们不关心你用什么技术,他只关心能不能更好更快地解决问题。
所以建议JavaEye的诸位同道,不要成天盯着Web。说实在的,internet领域容不下那么多的就业人员,也淘不出那么多金。
解决企业的实际问题,当是大家未来的前途所在。
建议JavaEye同仁多在RCP下些功夫。

最后说到RoR,如果它能够很好地解决实时性问题,即一方面是表现层的响应速度,一方面是高并发访问的容量,那么我们大家真有必要把它引入企业。
分享到:
评论
36 楼 lgx522 2007-05-18  
ray_linn 写道

数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。


其实HIS系统,药相对少得多,诊疗检查项目才够多。原先PB做的HIS,是把拼音字头映射的好多个txt存在本地,每次启程序的时候检测更新并加载进内存。拼音字头作输入、名称作显示、编码为条件,到数据库里查规格、价格、库存等信息,Client根据根据输入的项目、数量计算种类和价格,格式化后打印。
原先用C/S实现还是比较容易的,不知Ajax是否可以很好地实现。
35 楼 clamp 2007-05-18  
ray_linn 写道
clamp 写道


我的意思不是“能不能”的问题,而是有没有做过大规模的纯键盘操作B/S项目。

而且对响应速度、并发要求还死命的高……


你可以提具体要求,设个擂台吧。


单一的点我相信大家都能做到,但是用户会不断的提出各种各样的要求,对框架是一个巨大的折磨。

34 楼 ray_linn 2007-05-18  
clamp 写道


我的意思不是“能不能”的问题,而是有没有做过大规模的纯键盘操作B/S项目。

而且对响应速度、并发要求还死命的高……


你可以提具体要求,设个擂台吧。
33 楼 抛出异常的爱 2007-05-18  
无。。。。
一般的都是用双字母开头后面用普通汉字
点两个字母后的可能性就少多了。。。
五十几个选择。。。
32 楼 clamp 2007-05-18  
抛出异常的爱 写道
clamp 写道
ray_linn 写道
dengyin2000 写道

把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点


数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。

那么javascript加载常用药,ajax取不常用药。


做过用B/S方式支持纯键盘操作吗?
javascript有侦听击键。。。


我的意思不是“能不能”的问题,而是有没有做过大规模的纯键盘操作B/S项目。

而且对响应速度、并发要求还死命的高……
31 楼 抛出异常的爱 2007-05-18  
clamp 写道
ray_linn 写道
dengyin2000 写道

把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点


数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。

那么javascript加载常用药,ajax取不常用药。


做过用B/S方式支持纯键盘操作吗?
javascript有侦听击键。。。
30 楼 clamp 2007-05-18  
ray_linn 写道
dengyin2000 写道

把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点


数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。

那么javascript加载常用药,ajax取不常用药。


做过用B/S方式支持纯键盘操作吗?
29 楼 抛出异常的爱 2007-05-18  
ray_linn 写道
dengyin2000 写道

把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点


数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。

那么javascript加载常用药,ajax取不常用药。
业务就是技术,技术就是业务。。。
28 楼 ray_linn 2007-05-18  
dengyin2000 写道

把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点


数据量再大也是可以解决的,以医院为例子,仓库里的药也不过就是数万种,常开的处方也就数千种,常用药呢,数量则更少。

那么javascript加载常用药,ajax取不常用药。
27 楼 lgx522 2007-05-18  
potian 写道
还是不要占这些牛角尖了,大家知道他要讲什么就行了

实际上楼主讲的是可用性的一部分


总算还有宽宏大量的。

顺便说一下,本人原本卫生管理专业科班毕业。至于计算机,全凭爱好及自学,现为信息系统管理工程师。工作之余大系统做过一些扩展,中型系统做些设计,小系统独立搞定。这点可怜的资历不怕说出来让大家鄙视。

那些学究式的名词有误之处,但请诸位指正。不当之处,诸位当我说门外话便是。

还是回到原话题。
J2EE和原先的.NET,一开始在表现层就是Web和桌面并重,这是相当有道理的。本人最近接触到的一些企业新系统,Java的太少。像比较复杂的医药采购、电子病历、实验室LIS、ICU监控系统,WinForm已经有一些成功的产品和案例,Java还见不到。作为一个多年的Java爱好者,自是忧心忡忡。
相比WinForm在国内的初步成功,Java在这一块实在是太软了。其实学习Swing的时候发现,国外基于Swing的成功应用是相当多的,各位到www.open-open.com看看都可见端倪。
所以真正的问题是:面对此类应用,在业务层,我们不论是用Java还是RoR。客户端用什么可以与WinForm抗衡,是用传统的Swing、Applet(比如SAP的ERP),还是基于Web的Ajax、Flex或其它。
希望有经验的同道们一起讨论。
26 楼 weiqingfei 2007-05-18  
我还是看不懂,楼主要的是实时性,
但是这和具体语言,架构没什么关系呀,

具体数据从db到页面的显示,哪儿有瓶颈,就解决哪儿好了。
25 楼 potian 2007-05-18  
但一定要说,楼主也没有说错

http://en.wikipedia.org/wiki/Real-time

引用
Realtime or real-time as a general concept refers to a system that responds to events or signals as fast as possible, or as they happen; (see Wiktionary entry).


当然,我们一般是指在一定的时间段内一定要完成某一操作,也就是从事件的发生到响应有一个deadline, 所以严格意义上,大家才反对楼主.
24 楼 potian 2007-05-18  
还是不要占这些牛角尖了,大家知道他要讲什么就行了

实际上楼主讲的是可用性的一部分
23 楼 dennis_zane 2007-05-18  
楼主说的是性能意义上的“实时性”——响应及时,而实时性是什么概念呢?

实时意味着“能够可靠的可预测的推测和控制程序逻辑的时间行为的能力。”实时并不像许多开发者想的那样,意味着速度,而是意味着当需要对现实世界的事件作出反应时,它的行为是可预测的和可靠的。java也并不满足这样的要求,尽管也是有实时java规范,但规范明确说明:JAVA不能用于核电站设施软件和防卫系统等等。楼主这个标题就不对了,你质疑的应该是性能,把企业领域与实时性扯在一起来质疑ROR就有点奇怪了。
22 楼 抛出异常的爱 2007-05-18  
数量太大的话。。。。
一个cookie的树你认为怎么样?

PS:变态需求什么时候都有,大多数作不出来。。。但我的任务就是用变态方式来解决变态需求
21 楼 giscat 2007-05-18  
lgx522 写道
ozzzzzz 写道
算了不打击楼主了,我只是提醒你一句,好好的回去研究HIS吧!


HIS自建设到维护到扩展,本人足足干了5年!
由于工作原因,项目开发的经验自然不如几位JavaEye的大牛。但多年来第一线的管理维护经验,希望不要一句话就看扁了。

这篇帖子的主题,是讨论Java及RoR如何取代传统C/S程序,并获得C/S的“响应及时性”问题。有什么高招,尽管提,搞个人攻击没什么意思。

另外感谢lordhong的提议。


   为啥非要取代,都有各自的应用领域嘛
   这个牛角尖可砖不得啊
20 楼 dengyin2000 2007-05-18  
抛出异常的爱 写道
lgx522 写道
ray_linn 写道
感觉LZ根本没有做任何故障分析,所有的东西都是自己的主观感觉。
LZ这样的分析,我要是老板就直接扔垃圾堆里。


提个简单的问题吧,比如说门诊收费系统里面最基本的拼音字头带出收费项目或者模板,当前的C/S程序是所键即所得,几乎看不到任何延时,熟练的收费员可以在二十秒钟内完成十多个项目的计价。诸位高人用Web试试。

另外说一句,本人在诸位高人看来技术低劣,以后这类的讨扁话题绝不再提。


我的项目中有这种变态需求
用一个数组搞定比去数据库里查不知快了多少倍

本人在当救火队长时,承接各类变态需求。。。。


把数据现load到client端,也就是javascript中。 如果数量太大的话,该怎样处理。 也可以先load到server中。 然后通过ajax取数据。 但是这样的话实时性就差点
19 楼 potian 2007-05-18  
ozzzzzz 写道
potian 写道
不知道现在医疗信息系统发展得怎么样了?

国外的几个巨头有没有进来?例如 Cerner?



短时间内没戏。


主要什么原因?价格问题?
18 楼 potian 2007-05-18  
其实你只需要在google的搜索框试试,就会知道结果

17 楼 抛出异常的爱 2007-05-18  
lgx522 写道
ray_linn 写道
感觉LZ根本没有做任何故障分析,所有的东西都是自己的主观感觉。
LZ这样的分析,我要是老板就直接扔垃圾堆里。


提个简单的问题吧,比如说门诊收费系统里面最基本的拼音字头带出收费项目或者模板,当前的C/S程序是所键即所得,几乎看不到任何延时,熟练的收费员可以在二十秒钟内完成十多个项目的计价。诸位高人用Web试试。

另外说一句,本人在诸位高人看来技术低劣,以后这类的讨扁话题绝不再提。


我的项目中有这种变态需求
用一个数组搞定比去数据库里查不知快了多少倍

本人在当救火队长时,承接各类变态需求。。。。

相关推荐

Global site tag (gtag.js) - Google Analytics