三层结构问题(delphi+clientdataset+soap+ejb), yunye和相关高手请进(200分)

  • 主题发起人 主题发起人 yelogic
  • 开始时间 开始时间
Y

yelogic

Unregistered / Unconfirmed
GUEST, unregistred user!
我们现在打算用的是Delphi+XML+EJB
具体就是用IdHttp发Http请求到Servlet,Servlet在调用EJB,把结果返回给ClientDataSet,
目前有几个问题:
1.使用ClientDataSet时,能不能不用临时XML文件,直接用loadFromStream?
2.如果把对多条记录的操作同时发给Servlet,如何处理?
 
1.可以
2.自己编写数据溶解过程,比如你把Clientdataset内的更改了的记录发给服务器,在中间层要自己编处理过程,更新到数据库
 
yunye:
1.我把Response流写成file,用ClientDataSet.loadFromFile就没问题,直接用loadFromStream就报错
2.能把"数据溶解"过程发给我吗(yelogic@tom.com)
 
1.ClientDataSet.XmlData:=xmlstring//xmlstring是xml的字符串
2.这个比较麻烦,你可以参考delphi的DatasetProvider对于ApplyUpdates怎么实现
另外楼主的架构我很感兴趣,想问一下你这样的系统能同时承受多少人用
 
我们现在正在作DEMO,完成后会把压力测试的结果通知大家
 
1.最好用临时文件,因为xml文件可能很大,你不能读取流的原因可能是流的指针到末尾了
2.我目前正在考虑是否建一个这方面的开放源码项目,目前来说这段代码是具有商业特性
的,所以没法给你,不过关于ClientDataSet的delta包的数据格式不是太复杂,你自己做几
个增加、删除、修改操作然后把包存出来一看就明白,目前我做的溶解还不是特别强大,但
基本的处理是可以的(增、删、改可以)
3、溶解时候效率方面没有太大问题(几千人没问题),但数据不能太大,这主要是soap服务器的xml处理机制有问题(目前我用的是Aphache soap 2.0),对xml分析时它采用的dom方式,估计现在有更好的xml解析器;单个数据提交在数据超过4M时候出错(对于bin类型数据,如图像、声音等)
4.如果可能大家可以沟通一下,我希望能够开展几个开放源码项目,我希望能够与中国所有
优秀的程序员开发出世界上最聪明的软件
 
赞成yunye的提议,我算一个,lphjj@21cn.com
 
多谢yunye的坦诚,虽然很遗憾,我还是支持你的想法,等我研究通了希望为你的开源代码尽微薄之力
1.由于数据表很多,用临时文件会很麻烦
2.我用的JDom
3.另外问一个相关的问题,
如果录入界面中List项很多, 在C/S中用LookupComboBox,
但在这种结构中如果用很多DataSource是不是会极大的影响性能,
我想用DBComboBox,但是却没有代码与描述的对应关系,如何处理这个问题?
 
1.loadFromStream只能对binary的存贮方式,对Xml应该是无效的,
你可以从IdHttp读出stream,转化为字符串,当然你可以考虑压缩,以加强效率
然后,然后字符串付给Clientdataset.Xmldata,不过只有d6,d7有Xmldata这个属性
2.上传的时候也把Delta用同样的办法变成Xml,让服务器解析该Xml,因为Jbuilder也支持
Midas,可能Jbuilder已经有组件了,或者通过UpdateStatus自己组装成Xml
3.只用LookupComboBox,而不用Lookup字段的话,应该不会影响多少性能,他只对当前纪录
Lookup
另外想问楼主,服务器的xml是你自己组装的码
 
to shiningplus
用LookupComboBox我要创建n个ClientDataSet对应,不会影响性能吗?
另外,“服务器的xml是你自己组装”此话何义?
 
一般Lookup都是由Id去Lookup另一个数据集的Name
所以Lookup数据集只要返回id,Name字段即可,记录不多的情况下内存不会花很多的
如果自己写代码,你仍然要打开数据集,只是Lookup数据集要一直打开,
但是损失少许的运行效率,带来的极大的开发效率,
我的做法是浏览的界面,完全不用Lookup,修改,新增时弹出的界面使用Lookup
"把结果返回给ClientDataSet"你给ClientDataSet的xml是不是你用java自己组装xml
 
在Delphi中我是动态创建TXMLDocument生成XML,以及解析返回的XML
在服务器端我用JDOM解析XML,以及生成XML流发会Delphi
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部