系统要求

1、服务器端部署在Window或Linux下面。目前在Window 2000下比较多(linux很少)

2、客户端运行在Window环境下,要求运行快速,输入便捷。

3、统计等会时常需要新增(希望新增统计不需要重新修客户端程序),最好能通过浏览器直接查看统计。

4、需要为第三方系统提供业务逻辑接口,方便第三方系统的接入

5、界面的修改不需要与业务逻辑相关

6、尽量简化客户端的安装

7、从长远看,后继会需要为用户提供一些结果的远程查询(与统计类似)

8、需要将一些资料(病历、处方)方便打印,对于发票要求精确打印。最好是可见既可得。

分析:

1、因为需要为第三方提供接口,还可能给患者提供远程查询功能。为了简化接口,使用Web接口方式实现。

2、结果查询及设置采用XML或Json (从减少数据传输的角度及JavaScript对Json支持更强的角度出发,使用Json)

3、客户端运行在Window环境下,对速度及便捷性要求比较高,所以是一个桌面系统。目前VC、C# (WinForm、WPF、Silverlight) 都可以实现。但VC开发界面太过复杂,而且不太漂亮(C#下有个DevExpress库非常不错,支持WinForm、WPF、Silverlight、ASP.net),所以放弃。

4、WPF、Silverlight不熟悉,而且查了一些资料说在性能方面并不如意,所以放弃,选择C# WinForm。

5、资料打印想使用控件本身的打印+水晶报表方式

5、Web接口实现:采用Java(Jsp + struts) 还是使用ASP.net?

目前Java可以运行在Window、Linux下面。而ASP.net只可选择在Window下。而且对于Java的了解更多,所以更倾向于Jsp + struts。但从界面来看,asp.net使用C#语言,而且与WinForm可以使用同一个DevExpress,这是目前选择asp.net比较大的优点。

但devexpress只是个控件库,而C#是语言级的缺陷,另外Jsp有ajax和ext.js,虽然比起devexpress要差些,但至少比起期待C#支持Linux会更有希望些(哈,好象C#有支持linux的了哟,但目前已经用Java开发了部分代码,而且对C#不太熟悉,所以暂不改为.Net方式了。后继可以根据对.Net的熟悉程度,需求的变更情况,以决定是否需要全部改为C#,还是找类似DevExpress的Java控件,或是使用技术让.Net程序运行在Tomcat下,或是使用proxy将一些请求中转为.Net的请求.......

http://www.dhtmlx.com/docs/products/dhtmlxSuite/index.shtml  这里有一些控件,不知道是java的还是javascript配合使用的)。

目前使用WinForm方式时,前端的很多数据处理都是以json等方式与后端的webservice交互的,并由客户端使用DevExpress控件进行显示。包括现在的XtraReport也是这样方式(除了部分可能直接以Web方式显示的除外,这种方式需要返回的数据是DataSet的XML文件)。

后继可能会需要考虑使用Jsp或ajax, 或Asp.net等方式,那时再考虑是否需要从java往Asp.net的迁移(这个可能还是需要考虑跨操作系统平台等情况)

当然,具体是选择ASP.net还是Jsp,可能还需要进一步对asp.net及Jsp的进一步了解才能下结论。

两方面(是跨平台更重要,还是界面(打印)更重要,需要具体分析)。总之,尽可能把能移到Web中做的事就移到Web中做,WinForm只负责一些比较复杂的,要求响应比较迅速的主界面。其余的次要的弹出、查询、统计界面都使用Web界面实现(当然要考虑交互及界面美观)。

另外需要考虑工作量及一些熟悉程度

开始有想过使用WinForm + ASP.net + Struts的方式,但后来一想,这种方式其实最后还是只可能运行在Window的服务器上。

也有考虑过所有的界面都有WinForm来实现,Struts只负责数据处理,决不返回界面。但这种方式的可扩展性就会比较差了。

当然,在目前还没有选定具体的实现时,使用ASP.net实现统计,而WinForm实现固定而且复杂,要求漂亮的界面(而不只是主要的界面,并尽可能放在dll中)。

需要了解:ext, ajax对于统计及打印的支持力度如何? 能否满足用户对于统计的查询,打印的要求呢?

Java也有一些不错的报表的,比如JReport, 水晶报表(互动功能如何?)。如果真的有复杂的报表,而且需要交互的,则使用ASP.net使用,并要求用户提供对应的机器

使用过silverlight及asp.net,还有html5, js的版本后,另外加上考虑到版本风险问题,还是使用java的一些开源库来做吧

ASP.net不进行session判断,并将cookie值转发给后端的struts?

而且还有一个域名的问题(不同的域名,客户端不好处理。当然也可以通过重定向得到。但总是不灵活的)

Web服务器这种方式,如何进行授权的限制呢?因为客户是可以登录到服务器的,如果用户懂点Java的话,他可以把服务认证,权限的过滤器等给停止不用

devexpress控件的不足:不能够表格的背景图,另外精确定位比较麻烦,套打比较麻烦。还有不支持财务控件(昂立万控件支持)。不过,目前业务暂时没有这种需要,可以先不考虑。(对话框添加背景方式呢?)。  有时不能强求一个控件有所有的功能

http://www.cnblogs.com/DevExpress/    devexpress控件中文网官方博客

使用https

http://blog.163.com/xhy_cy/blog/static/10497623200953510586/         C#访问https

http://hi.baidu.com/ju_feng/item/68d3d50f27e1e0f7a1103462

http://www.telerik.com/products/winforms/multicolumncombo.aspx     telerik控件   有个邮件列表功能 (SuggestAppend AutoCompleteExtender, TzRichedit  http://www.codeproject.com/Articles/15960/Custom-AutoCompleteExtender-with-multiple-word-sug  )及左右List选择功能

http://blog.csdn.net/sendreams/article/details/1761720    devexpress汉化

问题:DevExpress的AutoComplete能不能匹配中间的字符呢?

ComboBoxEdit控件能否在编辑状态下输入匹配的字符后显示包含有图标呢?

http://club.topsage.com/thread-2213648-2-1.html

telerik 控件的错误提示功能如何呢?多列选择时,是否有值与显示分别使用不同的列呢?好象没有布局视图

所以总的说来,还是使用DevExpress, 医生列表选择的控件及左右List选择的功能自己封装

另外,在写程序时,界面与数据尽可能的分开来

配置信息使用统一的界面,并通过传一个配置文件指定Grid字段信息,新增、修改对应的对话框通过反射实现(一个基类,并传dll名称和类名来实现)

一个界面使用一个文件来配置各控件的一些基本信息:权限Key、提示、值的合法判断、是否显示、是否Enable等

Grid、Property等也对应一个配置文件

一些查询可以使用LookUp或是查询与最终结果不一致的方式暂时代替实现

DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);

用google的gson-2.0吧,我用到现在还没发现问题

C:\Documents and Settings\All Users\Documents\DXperience 12.1 Demos\WinForms\XtraGrid\Bin
C:\Documents and Settings\All Users\Documents\DXperience 12.1 Demos\WinForms\XtraVerticalGrid

https://www.devexpress.com/ClientCenter/Downloads/Documentation

combobox 匹配规则 contains startwith endwith

http://pan.baidu.com/share/link?shareid=62076&uk=3222143235    12.1.7的版本

http://wenku.baidu.com/view/b94acae8f8c75fbfc77db258.html       网友对GridControl的总结

http://hi.baidu.com/fengchenziyi/item/65ab80754d876e29d7a89c81   快捷键设置

http://blog.csdn.net/xiao__gui/article/details/7946058

Grid右键 1、打印 2、导出 3、复制 4、粘贴 5、新增 6、删除

新增、删除、更新、打印、打印预览、导出、上移、下移、置顶、置底、清空、

BandedGridColumn column = Columns.AddField(gridProperty_.Columns[i].Key);  // 添加一个数据字段
                column.FieldName = gridProperty_.Columns[i].Key;
                column.Name = gridProperty_.Columns[i].Key;
                column.Caption = gridProperty_.Columns[i].Caption;
                column.VisibleIndex = i + 1;                                  // 
                column.OptionsColumn.AllowEdit = true;     // 此列不可编辑
                column.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.True;
                column.Visible = gridProperty_.Columns[i].Visible;
                column.Width = 2; // gridProperty_.Columns[i].Width;
                System.Windows.Forms.MessageBox.Show(column.Caption + column.Width.ToString() + " " + band.Width);

http://www.doc88.com/p-209946617023.html    读取扫描仪数据

http://blog.csdn.net/hejialin666/article/details/5709825    获取打印机列表   DeviceCapabilities   http://bbs.csdn.net/topics/200033744   http://bbs.csdn.net/topics/360108591

http://www.cnblogs.com/whldqpi/archive/2009/10/14/1582995.html           C#连接oracle

http://www.cnblogs.com/zwffff/archive/2010/05/18/1738417.html          C#注册表    OK

读取身份证

打印机

XML或Json转为DataSet

算法 (AES, Base64, Md5, SHA256)    OK

文件上传

串口编程、语音、控制电脑的、LCD的、Socket通讯

右键菜单

截图、视频捕获

指纹识别

不需要GridBand

/// <summary>
        /// 设置GridView序列号面板的宽度
        /// </summary>
        /// <param name="gv"></param>
        public void SetGridIndicatorWidth(DevExpress.XtraGrid.Views.Grid.GridView gv)
        {
            if (gv == null) return;
            gv.IndicatorWidth = 30 + (gv.RowCount.ToString().Length - 1) * 6;
        }

图片采集使用统一的控件,未保存到数据库的数据,临时保存在本机的临时目录下,以日期为标记,隔指定时间以上删除之?

信息中增加身份证图片扫描?还是在其他位置?

右键菜单,有自动新增的功能,有主动新增的按钮

DevExpress.XtraGrid.Localization.GridLocalizer.Active = New DevExpress.LocalizationCHS.DevExpressXtraGridLocalizationCHS
        DevExpress.XtraEditors.Controls.Localizer.Active = New DevExpress.LocalizationCHS.DevExpressXtraEditorsLocalizationCHS
        DevExpress.XtraNavBar.NavBarLocalizer.Active = New DevExpress.LocalizationCHS.DevExpressXtraNavBarLocalizationCHS
        DevExpress.XtraBars.Localization.BarLocalizer.Active = New DevExpress.LocalizationCHS.DevExpressXtraBarsLocalizationCHS
......
自己用到哪些控件就调用哪些控件的汉化方法就是了

目前来回都是Json格式

如下一些配置设置
1、host_name, server_name, port, cert的文件信息、是否使用cert、字符集(GB2312)

如下一些信息在每个请求都需要带(除了login外)
1、登录的账户?密码?
2、

如下一些信息在参数中指定
POST还是Get
ContentType、ContentLength
Cookie、
Post参数
URL

文件上传及下载的C# / Java实现

C#从Json到Object的相互转换   http://uzone.univs.cn/content.action?itemId=2781395_i7gd30c7c08tqk7kc7c1

http://zhidao.baidu.com/question/279386053.html

http://blog.sina.com.cn/s/blog_64008ed70101dxpj.html

http://www.cnblogs.com/wangchuang/archive/2012/07/19/2599472.html

http://wenwen.soso.com/z/q356956061.htm

HMAC_SHA256(用google搜)  http://msdn.microsoft.com/en-us/library/system.security.cryptography.hmacsha256.aspx

http://buchananweb.co.uk/security01.aspx

log4j.properties 乱码 native2asii  http://baike.baidu.com/view/1812368.htm

struct2 访问多个database

annotation+filter

jdbc连接池  JNDI

Hibernate访问多个数据库  http://developer.51cto.com/art/200907/133239.htm

http://hi.baidu.com/piaokes/item/f0a6140c2c2621813d42e247

http://www.cnblogs.com/ldcsaa/archive/2012/02/23/2364036.html   文件上传与下载组件  (可以从util派生)

制作Win7安装启动U盘

http://www.oschina.net/p/googlecode/similar_projects?sort=view&lang=22   网上使用SVN管理代码 http://blog.csdn.net/c395565746c/article/details/5964041

http://blog.csdn.net/ren8179/article/details/8468763     DevExpress控件 LookupEdit 模糊查询 这个不行,没有达到预期的效果

http://www.cnblogs.com/yayaLee/archive/2010/11/24/1886381.html   这个LookupEdit不错,但会弹出试用两个字

当前问题:

1、使用JTA方式多数据库方式没有成功,先不考虑多数据库。但使用封装的调用接口来处理事务 ?

2、Oracle无法插入'',而是会转为null处理,这个需要额外处理下

TeeChart

http://www.cnblogs.com/wuhuacong/archive/2011/08/31/2161002.html

1、提供一个搜索的选择框,之后将搜索结果加入到列表中

2、提供一个预览功能的按钮,可以手动点击先预览。点确定不会删除

3、删除数据前,也会弹出一个预览的框,但这个时候没有确定按钮,而是删除按钮,并需要再次输入密码。之后删除显示删除的进度

文件上传、下载

Session

手写签名:http://www.cnblogs.com/wuhuacong/archive/2012/11/27/2791434.html

手写签名,使用图片上传方式吧

DevExpress的报表(可客户自定义)

患者是各种操作的基本对象,有没有哪种办法即可以通用的显示,又可以方便的进行录入,查询?右键?而且需要能适应不同的界面进行展示。分为几种基本的格式?快速查询(一些ID号)

权限管理系统

控件初始化类 Init(enum key);  这个Key是一个枚举的String类型

收集jpg, icon, png图片     http://www.easyicon.net/icondetail/1065394/

工具栏合并、提示信息

this.bar1.DockCol = 0;
            this.bar1.DockRow = 1;

http://liuqing9382.iteye.com/blog/1574864   使用myBatis方式支持Oracle、Mysql等多种主键增长的方式 http://www.iteye.com/problems/79854

mybatis 根据数据表生成类

mybatis spring 事务处理

maven

http://zouhuajian01.blog.163.com/blog/static/11769877201145101032888/?suggestedreading&wumii   ibatis [转]ibatis自动生成工具,abator使用方法

待学习:

1、spring MVC (使用这种方式可以不需要struts)

2、spring mybatis的事务

3、jar

4、

http://blog.163.com/zhao_jinggui/blog/static/1696204292012417112424612/    加密Spring加载的Properties文件

支持Java

1、已经写了部分代码

2、开源的比较多

3、感觉spring比spring.net要好

支持.net

1、与客户端语言及使用控件一样,减少学习成本

2、有DataSet,可以直接输入出客户端。而java还需要自己去封装

3、有DevExpress控件,可以直接生成一些统计之类的界面

最近对DevExpress的Asp.net、SilverLight、htm5版本进行了体验,体验结果如下:

1、Asp.net, SilverLight两者编写一个界面的速度适中,但比起WinForm来还是更慢。

Asp.net不太好和Java融合,需要更换为Asp.net框架

SilverLight似乎可以和Java融合,但融合比较难,而且部署麻烦,需要浏览器安装插件

需要收费,出现版权问题时的代价会比较高

2、html5版本,最容易与java融合,编写代码程序会比WinForm、ASP.net更慢些。但与java的融合程度最高,但目前只有一些图形,没有见到表格之类的。暂不考虑

再加上我们目前只考虑用户使用我们安装的客户端的情况,所以不需要

版权问题:

1、只使用到DevExpress的WinForm版, 加上汉化大概1W多一点,(据了解Report及Chart也在这个版本中,但给用户自定义报表的编辑器好象需要另外买):

注:Report类似于水晶报表, Chart是图表控件,可以嵌入到Report里面。

2、服务器使用java开发,没什么问题

3、oracle问题,其他厂商也都有。而且我们可以考虑兼容mysql,那样就可以规避了

4、开发工具Visual Studio 2012 (专业版目前8000一套)和window (几百元一套)一样,中国普遍存在的问题。

5、其他的:暂未发现

Hera系统开发框架的选择相关推荐

  1. RDIFramework.NET ━ .NET快速信息化系统开发框架-4.3 平台主界面

    RDIFramework.NET ━ .NET快速信息化系统开发框架 4.3 平台主界面 4.3 框架主界面 用户登录成功后,便进入到RDIFramework.NET(.NET快速信息化系统开发整合框 ...

  2. NET快速信息化系统开发框架 V3.2 - “用户管理”主界面使用多表头展示、增加打印功能...

    NET快速信息化系统开发框架 V3.2 -> "用户管理"主界面使用多表头展示.增加打印功能 RDIFrameowrk.NET 用户管理是使用非常频繁的模块,由于需要展示的字 ...

  3. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本强势发布

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chinahuyong/article/details/51290832 继上个版本"RDI ...

  4. .NET快速信息化系统开发框架 V3.2-amp;gt;WinForm版本新增新的角色授权管理界面效率更高、更规范...

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chinahuyong/article/details/76735793 角色授权管理模块主要是对角色 ...

  5. NET快速信息化系统开发框架 V3.2 -WinForm部分全部重构为Dev风格界面

    RDIFrameowrk.NET V3.2以前的版本WinForm部分使用的界面控件是DotNetBar,界面也是非常的美女,但相比现在市面上用得非常多功能强大的Dev控件还是略显逊色,V3.2版本花 ...

  6. RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

    RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件介绍 RDIFramework.net,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部 ...

  7. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍

    RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端 ...

  8. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-WinForm部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改. ...

  9. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-Web部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改.删除.移 ...

  10. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍

    RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端 ...

最新文章

  1. Android Handler的使用!!!
  2. Intellij IDEA 高效使用教程
  3. 小程序:位置信息(Location)及微信小程序LBS解决方案实践
  4. mysql-连接查询
  5. 【学习笔记】rabbitmq设置队列ttl和使用延迟插件的代码示例
  6. 数据预处理:读取文件数据,并存为python数组
  7. Sphinx的介绍和原理探索
  8. SAP BRF+ Interpretation Mode与Generation Mode
  9. ssh查找linux端口,linux – 查找当前连接的端口号SSH
  10. golang odbc mysql_go语言通过odbc操作Access数据库的方法
  11. ubuntu18.04修改vscode字体
  12. 无标度网络的生成模型
  13. 硬件仿真加速器(emulator)
  14. 【目标检测】2020年遥感图像目标检测综述
  15. 计算机安全中心无法启动,电脑无法启动windows安全中心服务怎么办?
  16. 遍历QListWidget 所有item
  17. IDEA连接MySQL数据源配置和mybatis整合
  18. 对2030年的人工智能的预测#AIGC的机会到底在何处?
  19. H30-T00刷机(线刷、变砖、救砖)记录
  20. 能力素质有所欠缺_心理素质要怎么锻炼?

热门文章

  1. 和数集团:区块链到底有没有未来?
  2. 创业中创新驱动能力_大学生创新驱动型创业成功因素分析
  3. 现在入驻自媒体还能做起来吗?晚吗?
  4. 华为服务器系统故障怎么办,服务器系统故障
  5. 新书上市 | 认知陷阱:人们常犯的6个思维错误
  6. 网络基础和OSI七层模型
  7. 中国股市危机的四大症结 权贵资本掠夺资源
  8. bilibili_Linux9_文件系统管理
  9. Go语言中的数组、切片和字符串
  10. week15-ZJM与霍格沃兹