请教,WEB开发模式及XML的问题。(200分)

L

lzhang

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]
我想用ISAPI+ACTIVEFORM开发INTRANET应用,后台ISAPI与客户端ACTIVEFORM采用HTTP通讯协议,
数据格式采用XML封装。本来可以采用TWebConnection, TClientDataSet和httpsrvr.dll的方式实现,
但过于透明。我希望自己实现传输和编解码,这样程序量加大,但功能容易控制,且很容易与其它
系统(如人事,MIS等)交换数据。
请问: 1、这种开发方式是否可行,有无更好的方法?
2、用什么控件能将QUERY数据集转成XML格式?
3、反之,什么控件能将XML直接作为DBGRID的数据源?
 
lzhang,加我。QQ:25960759
 
我们曾经作过一个基于J2ee架构的.通过bean,从oracle数据生成的数据转换成xml,
然后利用jsp传输给前端的delphi的控件.
给我最大的感觉就是:
1.数据变成xml描述明显的增大了.
2.数据的保密性不强..
3.开发更加方面了..
后来项目作完了,自己有一种想法...
就是在发送xml数据的时候,进行加密压缩...
在客户端进行解密的压缩,但是后来没有尝试过....
这只是我的一点小的建议....
 
thanks letsun
数据量大应该问题不大,因为在INTRANET中,速度有保证的。
压缩和加密是可行的,不过现在好像还不紧迫。
 
1、这种开发方式是否可行,有无更好的方法?
2、用什么控件能将QUERY数据集转成XML格式?
3、反之,什么控件能将XML直接作为DBGRID的数据源
to: lzhang
1 方法可行,但如果数据量大,可以考虑用zip等格式压缩,xml在传输大量数据时
增加的传输量大的惊人,不过压缩以后效果明显(因Xml为文本)。
2,3 D6/D7中ClientDataSet可担此大任。ClientDataSet的XMLDATA属性可以双向
转换数据集和XML(与ADO转换的XML不兼容)。包括二进制字段也可轻松转换。我在MSSQL和
Access中使用感觉很爽。不过,使用ClientDataSet还的带一个讨厌的midas.dll。



 
thanks hotplum!
我试了下CLIENTDATASET,Great! 解决了很多问题,太好了。不过二进制的XML编码
简直是对CPU的折磨,太慢了。
客户端我不用MIDAS.DLL,因为使用HTTP控件传送数据。
 
看看CLIENTDATASET自动编码的XML,有意思。
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD
attrname="USER_ID"
fieldtype="string.uni"
WIDTH="20"/>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
<ROW USER_ID="FJGY"/>
<ROW USER_ID="&amp;#31119;&amp;#24314;&amp;#39640;&amp;#21387;"/>
<ROW USER_ID="zz2"/><ROW USER_ID="china"/>
<ROW USER_ID="&amp;#31649;&amp;#29702;&amp;#20154;&amp;#21592;"/>
</ROWDATA>
</DATAPACKET>
 
我想这种通过HTTP交换XML数据包的模式,为以前很难解决的不同应用系统交换数据
提供了很好的解决模式。
欢迎大家一起讨论。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部