DataSnap REST Application开发 [技巧/经验/心得] 征集解决思路

DataSnap REST Application开发 [技巧/经验/心得] 征集
以前一直用D7,去年无意中去李维的BLOG逛了一次才注意到的.装上XE后,大体上试了试,感觉很不错.在****上基本没有关于这方面的贴子,网上也很少.大都是转李维BLOG上的东西.就个人感觉,DataSnap REST Application是很好的东西.
不管一般的C/S程序还是DELPHI三层,可以更高效,更方便的组织/处理数据. 而且与ASP.NET, FLEX开发的WEB客户端都可以很好的通信.对于喜欢用DELPHI FANS来说,值得研究一下. 

下面先说下基础性的东西,

DataSnap REST开发大体过程:

数据库读取数据->以JSON格式封装数据->通过HTTP(S)传输数据->接收数据->解析JSON格式数据->DBGRID(EDIT)显示数据

1. 从数据库读取数据.
关键类: TDBXReader, DBXCommand

举例:
  DBXCmd := SQLConnection1.DBXConnection.CreateCommand;
  DBXCmd.Text := 'select * from YourTable;
  DBXReader := DBXCmd.ExecuteQuery;


2. 以JSON格式封装数据:
如果直接返回DBXReader. DELPHI会用JSON格式封装数据.

3. 传输数据
DLL/EXE这两种类型的CGI程序. 熟悉WebBroker的话,可以控制/微调一些行为.

4. 接收数据
DELPHI开发的客户端很容易接收了,ASP.NET等的WEB程序,需要相应的处理.

5. 解析JSON格式数据
不论是DELPHI还是WEB程序,应该都有解析JSON的类. DELPHI是在DBXJSON单元中有相关JSON类.

6. DBGRID(EDIT)显示数据
对于DELPHI开发者来说, 用DB控件还是EDIT,全凭个人喜好.
DBXJSONCommon单元中TDBXJSONTools类可以参考. 很容易将READER数据转到CLIENTDATASET中.



------解决方案--------------------
有些并发的异常问题很难解决。
而且CallbackManager竟然不支持认证,晕死人了。
------解决方案--------------------
good~~~
------解决方案--------------------
有些并发的异常问题很难用技术手段予以解决。
而且CallbackManager竟然不支持 认证,晕死人了。
------解决方案--------------------

------解决方案--------------------
呵呵,那你自己觉得如何?
------解决方案--------------------
谢啦谢啦,lz真好人
------解决方案--------------------
感谢LZ分享,一直用D7,
------解决方案--------------------

------解决方案--------------------
学习 学习 估计是好东西 但是用的人不多 不知道里面水多深!
------解决方案--------------------
我只是来学习知识的
------解决方案--------------------
xml慢已经众所周知了
json的快,只是针对js吧,因为js可以调用自己的解释器直接分析json,而不是js代码去分析
其它语言使用json,效率可能与xml差不多了——因为两者的结构是类似的:都是树状层次存储的
------解决方案--------------------
以前一直用D7,去年无意中去李维的BLOG逛了一次才注意到的.装上XE后,大体上试了试,感觉很不错.在****上基本没有关于这方面的贴子,网上也很少.大都是转李维BLOG上的东西.就个人感觉,DataSnap REST Application是很好的东西.
------解决方案--------------------
好帖。收藏。
------解决方案--------------------
这个技术我用过,很强大。
------解决方案--------------------
接分帮顶

http://c.rednet.cn/zt/edu/2010nhbaby/api/?vote&3904
------解决方案--------------------
任何技术的东西都是值得钻研的!
------解决方案--------------------
不错不错;;;;;;;;
------解决方案--------------------
不错不错;;;;;;;;
------解决方案--------------------
要了解一下这个过程,再看一遍
------解决方案--------------------
有点意思……
------解决方案--------------------

------解决方案--------------------