|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/23 10:48:46 |
标题: |
拜求各位大神关于Datasnap开发的建议 |
浏览:2630 |
|
加入我的收藏 |
楼主: |
各位大神, 本人想做一个独立整合的Datasnap中间层,主要实现以下功能: 1、客户端传递SQL查询语句到中间层,中间层连接数据库返回记录集到客户端 2、客户端传递更新的SQL语句集合,中间层接收并执行 3、客户端传递Json对象,中间层根据指令返回Json对象 4、客户端与中间层之间传递Stream 5、客户端之间通过通道直接连接相互传递字符串和流 6、微信小程序可以通过http方式与后台互通
本人开发经验不足,在网上查到的例子看的眼花缭乱不知所云, 请各位大神提一些建议、或者给一些例子。 多谢多谢。
----------------------------------------------
- |
作者: |
|
2018/1/23 11:17:45 |
1楼: |
推荐购买樵夫快驴中间件,或全能中间件就可解决你的问题,都是稳定经过严格测试的产品,并且价格都不算太离谱的产品。 有现成的好产品可以用,省得你在去专门研究中间层软件开发了,自己开发浪费时间,并且还不稳定。
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/23 12:57:44 |
2楼: |
就没有不要钱的又稳定的开源产品吗?
----------------------------------------------
-
|
作者: |
vga (vga) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2018/1/23 13:03:01 |
3楼: |
1. mOrmot 2. DIOCP
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/23 13:30:13 |
4楼: |
DIOCP的有没有详细的入门介绍啊?
----------------------------------------------
-
|
作者: |
|
2018/1/23 13:55:05 |
5楼: |
花钱购买产品,就会有相关产品的详细技术资料。可以快速上手,省事省力,还会有技术支持等服务。
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/23 16:06:33 |
6楼: |
主要是想创造一个自己可以完全控制的中间层,购买的限制太多了。哪位有详细的DIOCP的资料可以分享下,这个是中国人自己搞的,应该很不错。
----------------------------------------------
-
|
作者: |
|
2018/1/23 17:07:31 |
7楼: |
全能中间件无限制,提供全部源码。3000+,适合你。 请参考:http://bbs.2ccc.com/topic.asp?topicid=540314
----------------------------------------------
-
|
作者: |
|
2018/1/23 23:38:07 |
8楼: |
这个价格,对于你来说非常值得购买。 我个人认为还是挺厚道的。
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
|
作者: |
|
2018/1/24 7:28:45 |
9楼: |
http://www.cnblogs.com/hnxxcxg/p/7715904.html
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
|
作者: |
|
2018/1/24 8:15:07 |
10楼: |
如果英文好,读Delphi本身的DataSnap开发指南吧,10.2.2的说明书非常全面,什么都有了,想咋干就咋干。
----------------------------------------------
-
|
作者: |
|
2018/1/24 8:26:13 |
11楼: |
客户端与中间层不建议传递SQL查询语句,通俗一点应该用JSON或XML,高端一点应该用protobuf或Thrift之类,中间层与后台数据库之间才是SQL查询语句。微信小程序也是用JSON或XML与中间层通讯。
----------------------------------------------
-
|
作者: |
|
2018/1/25 8:23:53 |
12楼: |
JSON
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/26 0:23:34 |
13楼: |
c5soft说的有理,Datasnap开发指南,网上有的下载吗?
----------------------------------------------
-
|
作者: |
|
2018/1/26 15:05:05 |
14楼: |
强烈推荐mORMOt,功能极其强大,举几个例子: - 服务器和客户端之间通过HTTP协议传输数据,格式是JSON为主打. - 你在服务器端定义一个delphi接口,列如: type ICalculator = interface(IInvokable) ['{9A60C8ED-CEB2-4E09-87D4-4A16F496E5FE}'] /// add two signed 32-bit integers function Add(n1,n2: integer): integer; end; 那么你在客户端可以直接调用这个接口,具体看它所提供的范例。 - 提供了加密、压缩、授权等等必须基础。 - 多数据库支持,不过如果数据总量在一千几百万以内的,用sqlite真的性能卓越! - 如果你用lazarus,它还支持linux。 - 如果你的服务器端放在IIS、Nginx或者apace后面允许,还可以用httpS协议。 - 支持从Delphi 7到最新版的Delphi。 - 支持Lazarus/FPC开发。 - 支持Windows和Linux. - 功能及其强大,就是中文资料不多,但是它的范例非常丰富,见: https://github.com/synopse/mORMot/tree/master/SQLite3/Samples
最后,mORMOT百分百开源,MIT授权协议,已经持续更新七八年了,最近那个西班牙作者到了一间以linux技术为主的公司,可以预见它对linux服务器端的支持前景美好。
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/26 16:30:46 |
15楼: |
多谢 edwinyeah (Edwin)
----------------------------------------------
-
|
作者: |
|
2018/1/26 17:08:39 |
16楼: |
补充一个,还有缓存支持,服务器端有缓存支持,客户端也有缓存支持。
----------------------------------------------
-
|
作者: |
|
2018/1/27 12:07:00 |
17楼: |
mORMOt
----------------------------------------------
-
|
作者: |
|
2018/1/28 16:07:42 |
18楼: |
市场上的中间件,都存在后期技术支持问题,因为都是个人开发的,你问问题时,凭当时个人喜好,心情不错就给您个所谓的方向,讲个大概念,让你自己去弄,心情不好时,啥支持也没有,根本就谈不上支持、服务等。 所以还是劝有经验的人去买,遇到问题自己想办法解决,这才是妥善的做法。
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/1/30 10:50:36 |
19楼: |
TO zhuoyu (拙于) ksrsoft (cb168) 说的很对啊,只是这个mORMOt,研究半天也没搞明白跟中间层有啥关系,似乎就是连个数据库。难道要结合Datasnap一起吗? 那个QDAC+QICOP似乎不错,看说明QDAC里面的QDB和QSocket还没有开发完成,用了下QJson,感觉很适合中国人的口味,速度咱不太关心,只是没搞明白,Delphi自带的里面有个可以将流数据序列化成TJsonArray然后包在Json中,QJson能这样做吗? 都是很好的东西,可惜例子太少,难道学Delphi的人真的越来越少了吗?
----------------------------------------------
-
|
作者: |
|
2018/1/30 11:26:59 |
20楼: |
DIOCP群 638127021,我已经用DIOCP做了一个项目了,很稳定
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/1/30 11:31:20 |
21楼: |
自还了很多demo,看了基本上就能上手了,包括聊天消息、上传下载(带进度),其实归根结底是协议设计好了就行,DIOCP只是负责数据的传输,另外如果做业务系统我不建议把sql语句放到客户端提交到服务端执行,维护起来麻烦,我们把业务语句放到数据库中了,客户端只要调用对应的业务编号常量,传对应的参数就可以了,另外服务端千万不要写业务,而是写抽象的提供数据服务(最基本的就是执行sql),因为服务端要的是稳定高效和容错能力,写太多业务只会让这些变的困难。
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/1/30 11:39:34 |
22楼: |
1.若是业务系统,1000左右的客户数,datasnap完全没问题,不用找其他框架了
2.若是实时通讯类、高并发类的,建议diocp
----------------------------------------------
-
|
作者: |
|
2018/1/30 13:33:02 |
23楼: |
咏南中间件很适合你
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/2/1 0:46:46 |
24楼: |
看了大家的意见,受益匪浅。 如果只用diocp,不用datasnap,如果要执行sql,将sql文本转成json传到后台执行,如果要返回记录集,就把记录集转换成流通过diocp传到前台,再把流转为数据集,这样能不能搞?如果这样搞,效率会不会大打折扣? 如果diocp行,我准备前台跟后台只传递流,后台负责解析前台传来的指令连接数据库执行处理,请高手支招。 还有那个qdac到底有什么用?里面的qdb开发好了么?qdac是不是类似于firedac这种只是连接数据库操作数据的,这个跟datasnap有什么可比性?如果要把dicop和qdac整合使用,大概是个怎么样的做法? 拜求各位大侠提出一些见解,我现在基本有点感觉了。
----------------------------------------------
-
|
作者: |
|
2018/2/2 0:55:50 |
25楼: |
看到现在,还不知楼主的目的是做商业开发(或公司用)还是个人玩玩的,感觉不好,不想多说。其实,不明白大家做多层程序为什么要传SQL语句?这种方式我10几年前都没用了。数据库TABLE在中间层做OR,客户端调用类处理这些就可以了,多简单。我的ERP程序客户端没有任何SQL语句,一样的稳定高效。
----------------------------------------------
-
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/2/2 14:03:34 |
26楼: |
to:he_19_79 当然是商用开发的,之前开发的都是用ADO直连,想用三层,Datasnap搞的不理想,想做一个稳定的中间层,自己能力技术有限,想问问如何入手比较合适,已经走了不少弯路,想听听大家的意见,仅此而已啦。
----------------------------------------------
-
|
作者: |
|
2018/3/7 20:01:59 |
27楼: |
DIOCP支持FDAC吗
----------------------------------------------
-
|
作者: |
|
2018/3/8 9:14:53 |
28楼: |
diocp是负责通讯的,FDAC是负责和数据库交互的,菜刀支持盛菜吗?
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/3/8 10:17:25 |
29楼: |
@kcm (kcm): 就diocp就很好了,作者很勤劳的,而且有一大群热心网友在帮忙测试,解答问题等等。
说说个人看法: 1、你要把原来C/S搞成三层,首先那个什么传sql去中间层执行这种思路就不要有了,你就是客户端传个指令,带些必要的参数到中间层,然后中间层去跟数据库打交道。 2、要弄个数据库连接池,你的中间层需要用到。 3、如果你的项目是商用的,时间又赶的话,而且不太缺钱,建议你跟弦子联系,看看他肯不肯帮你做有偿服务(貌似不贵),这样可以省掉你大量的时间。他帮你把整个中间层框架搭好,你只要集中精力移植你原来的业务就好了。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
kcm (kcm) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/3/17 11:39:43 |
30楼: |
to: looper (keyo) 说的很对啊,diocp确实很不错啊,QDAC里面我只用到了一个QJson,QDB好像有些问题换成FireDAC了。弦子确实是个好人啊,好多年前就受过他的点拨。
----------------------------------------------
-
|
作者: |
|
2018/3/17 13:43:54 |
31楼: |
建议用全能,你可以向全能要个试用版,自已试试,有全源码
----------------------------------------------
-
|
|