公司现在开发的产品是基于webservice(delphi(ui) + tomcat + xfire + spring + hibernate + db2)
1.由于delphi的客户端要调用java的webservice服务,在调用服务前需要进行身份的验证,这个验证过程我们现在采用的是模拟session的办法,即用数据库表存储登录信息并返回一个登记号,由于每次调用都需要校验,在业务访问量大时,会影响到服务器的响应速度,而关于xfire的介绍里有没有找到类似于.Net里的SetCookie类似的方法,不知道大家都是如何处理的。
2.业务同步问题,公司现在的业务处理,本地与远程共同维护业务记录,这就有可能造成本地与远程的数据不同步的问题,如远程调用webservice成功,本地失败(可以通过业务的手段去弥补),大家在开发这种分布式应用时,是如何处理的呢?前提,我们的应用是要求实时的,不能采用那种定时的同步的方法希望大家讨论一下!!
1.由于delphi的客户端要调用java的webservice服务,在调用服务前需要进行身份的验证,这个验证过程我们现在采用的是模拟session的办法,即用数据库表存储登录信息并返回一个登记号,由于每次调用都需要校验,在业务访问量大时,会影响到服务器的响应速度,而关于xfire的介绍里有没有找到类似于.Net里的SetCookie类似的方法,不知道大家都是如何处理的。
2.业务同步问题,公司现在的业务处理,本地与远程共同维护业务记录,这就有可能造成本地与远程的数据不同步的问题,如远程调用webservice成功,本地失败(可以通过业务的手段去弥补),大家在开发这种分布式应用时,是如何处理的呢?前提,我们的应用是要求实时的,不能采用那种定时的同步的方法希望大家讨论一下!!
1. 在验证时,提供Account, Password, 随机值(此值需要保存,后会用到),NetMac, IP等于App, App返回一个依NetMac与LoginTime生成的SessionID,同时在数据表中予以记录供日后追查; ======================
我的方式与你相似,采用每一个用户名对应一个SESSIONID的方式,下一次登录后会将上一次的SESSIONID置为无效;
这样的试有一个问题,就是一个用户在两台机器上登录,先登录的用户的SESSIONID会失效!!!而如果要让后登录的用户
不能登录到系统中,要时刻监听客户端的连接状态或是由客户端来不断确认(与你的2里面提到的方法类似),但如果客户端
出现异常时,无法再执行登录状态确认过程,可能就比较麻烦(采用你提到的登录时间办法应该可以解决)。
2.关于数据验证
我的架构中,本地保存业务数据(供离线、快速查询使用),这样就有可能在网络、数据库、计算机等出现异常的情况导致客户端与中心端的数据
不一致
用delphi的vcl如TStringList用惯了,现改用Java的ArrayList等不习惯,而且也不便于团队中其它不熟悉的人员转移到Java中。
我想在java中做一套类似于delphi的vcl, 比如常用的Variant, TStringList, TADOConneciton, TADOQuery等, 有没有兴趣一起做?
现3群:17303696正式 开放,各群内容基本相同,高手也经过群主进行了调整,希望大家不必重复加入!
培训经过筛选才会进行,请大家不必 着急!!!已经上传的顶级软件产品的架构分析,本群资料仅供研究学习,不得商用!!!
google 、
eBay、
Youtube、
淘宝等
......
技术文章包括:
《自己动手写操作系统》
《搜索引擎-原理、技术与系统》
《企业应用架构模式》
......
重要的RUP实例
设计模式精解
......
资料陆续上传中++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
总结来看,确实如网友所说,XFire使用起来确实比Axis?方便得多,也快得多.
欢迎来交流WebService技术,msn:[email protected]