论DELPHI跨平台中间件的策略

论DELPH跨平台中间件的策略

1)起先DELPHI只支持WINDOWS,此时DELPHI三层开发的眼里只有WINDOWS COM。

基于WINDOWS COM的OleVariant组合拳=TDataSetProvider+TClientDataSet。

这时三层开发的天空很纯的蓝色。

2)从DELPHI10.2开始,DELPHI DATASNAP支持开发LINUX控制台应用服务器(后面通称为中间件)。

此时,用DELPHI开发跨操作系统的中间件便提上了很多人的议事日程。

3)跨操作系统的中间件,OleVariant组合拳=TDataSetProvider+TClientDataSet,仍然能用,但不再建议。

LINUX要支持OleVariant序列,需要做一些配置。

Linux ClientDataSet libmidas.so.2

DELPHI LINUX程序使用CLIENTDATASET控件,部署的时候需要libmidas.so,相当于WINDOWS程序的MIDAS.DLL。

DELPHI 10.2 TOKYO发布却漏掉了这个。现在终于可以提供下载了。

官方下载地址:

http://cc.embarcadero.com/item/30765

官方推荐用FDMEMTABLE替代CLIENTDATASET,老程序才使用CLIENTDATASET。

在DELPHI 10.2.1下面测试发现libmidas.so.2又不行了,LINUX中间件会莫名闪退,让人莫名的感觉。

4)这时,大家可能都想到DELPHI XE5开始支持的FIREDAC新的数据序列了。

然而,FIREDAC的Data.FireDACJSONReflect单元不支持跨平台 Data.FireDACJSONReflect里面:IFDJSONDeltasApplyUpdates,TFDJSONDeltas,TFDJSONDataSets 这些对象在跨平台统统都不能用,原来它们只支持WINDOWS操作系统。

那怎么办?

答案:跨平台中间件最好的数据序列是TBytes。