9月11日 XE8移动开发入门(五)XE8中使用DataSnap三层架构和Beacon组件简介


          9月11日上午10点,我们介绍RadStudio XE8 移动开发入门培训的第五部分 - 在Android中使用DataSnap三层架构和Beacon组件简介,本培训为免费Webinar的方式,注册报名点击这里 https://attendee.gotowebinar.com/register/2571313862822880514
在上一次的培训中,我们提到了可以在移动平台的应用中使用SQLite或者IBLite嵌入式数据库服务。但是对于一些程序规模稍大,或者需要连接到互联网上的数据库服务的移动应用,我们从移动平台通常是不能直接访问数据库的。那如果我们需要编写一个类似ERP的系统到移动平台,我们就需要考虑使用XE8中的DataSnap技术了。其实,DataSnap技术对于老Delphi开发人员应该都不陌生,在老版本中其实一直在使用这个三层技术。不过,在最新的跨平台战略中,DataSnap技术升级了,通讯协议为Http(s)协议,协议内容架构为Restful架构,简单方便还通行各种平台。传输的数据内容格式改为JSON格式,紧凑,数据量小,可跨平台。
对于DataSnap三层结构,可以说是XE8中的精华部分。它也包含了很多方面,各种支撑代码等。可以夸张点说,互联网类的应用都可以胜任。如果您想让移动设备获得一些数据,或者移动端的HTML5应用处理数据,没问题,DataSnap支持,数据格式为JSON,移动端使用JS直接就处理了。想在XE8中移动端获得完整数据集DataSet,没问题,变成JSON格式发给移动端。需要网站级别的用户认证、session处理等,DataSnap也支持。总之,DataSnap功能很强大,也比较复杂。对于规模应用,还是需要仔细研究。
现在IoT概念很热,XE8中也添加了支持Beacon的组件。通过使用该组件,可以很简单的查询到Beacon的信息。然后应用到我们的移动App中。
本次网络培训的时候画面没有切换好,导致前半部分的只有声音,没有图像,在这里说一声抱歉。本次培训内容的视频资料可以到这里下载,网盘  http://pan.baidu.com/s/1bnbjmQr  。其中的Demo代码可以这里下载,网盘  http://pan.baidu.com/s/1nty5zAx 。刚刚有回想了一下DataSnap的demo程序,总过也没有写几行代码,真的很感叹,DataSnap技术越来越方便了,套一句官方的话,叫“编程越来越有趣了  !”
我们来看看吧,DataSnap服务端的主要语句如下,将获得的数据集转换为JSON格式,然后发送出去。
TFDJSONDataSetsWriter.ListAdd(result, 'Employee', FDQuery1); 
客户端的主要语句如下:
jds := ClientModule1.ServerMethods1Client.GetEmployees(Edit1.Text) ; 
FDMemTable1.AppendData(TFDJSONDataSetsReader.GetListValue(jds, 0) );
也就是DataSnap的最精彩的地方,使用客户模型调用镜像的服务器的方法(相当于远程方法调用),并且还很简单,再有就是使用FireDAC提供的MemoryTable将数据集载入到内存,之后就是通常的数据库编程了。当然别忘了在数据集转换的时候添加各种支持组件,(吐槽一下,其实这个是需要好好看看FireDAC的文档的,否则都不知道错误在哪里)。 不过最近大神么的编程风格好像都是这样子的,非常有利于业务处理逻辑和和业务处理引擎的分离,也就是说以后有了更好的引擎,只需要换个发动机就变成了一辆新汽车。但是汽车的驾驶方法是不会改变的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值