欢迎来到天天文库
浏览记录
ID:17648731
大小:236.00 KB
页数:10页
时间:2018-09-04
《delphi xe程式设计系列 1-主从架构, 多层到json和rest》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DelphiXE程式設計系列1-主從架構, 多層到JSON和REST從桌面開發,主從架構,一直到多層架構,雖然都是廣泛被接受的觀念和技術,但在資訊技術的實作上卻從不是開放,相容的世界。Delphi從桌面開發到主從架構都是使用自己的資料傳遞格式以及通訊傳遞架構,到了多層架構雖然使用了Windows平台上的通訊協定,例如COM/DCOM/COM+,但是在傳遞的資料格式方面仍然是使用自己的架構,COM/DCOM/COM+也是MS專屬的通訊協定,和其他平台上使用的通訊協定也不一樣。當然,不光是Delphi/BCB,大部份的開發工具也是採用類似的方式,那就是
2、都支援桌面開發,主從架構或是多層架構等通用觀念的架構,但使用來傳遞資料和溝通通訊協定都是封閉的架構。直到JSON和REST的出現以及Delphi/BCB確定走向原生,跨平台的道路之後,Delphi/BCB從2010版便開始走向以JSON封裝資料,以REST做為通訊架構的方向。因此Delphi/BCB除了仍然支援原有的資料封裝格式以及通訊協定之外,也允許開發人員選擇使用JSON和REST,使用JSON和REST的好處是除了可以讓JSON和REST擁抱最新的資訊技術之外,也可以讓Delphi/BCB在不同的平台中使用相同的技術來開發主從架構,分散式多層
3、以及Web應用,也可以更容易的和其他的程式語言,框架和技術整合在一起。現在讓我們重溫舊夢一下,看看如何把一個簡單的主從架構應用程式轉換為使用JSON的架構。主從架構下圖是一個簡單的主從架構的主表單,它藉由下圖的dbExpress元件從資料庫的FishFacts資料表中取得資料,並且使用資料感知元件顯示在應用程式的主表單中。雖然從BDE到dbExpress都使用專屬的格式封裝資料,但BDE和dbExpress也可以把資料封裝成較開放的XML格式,因此要把上圖中TClientDataSet中的資料轉換為XML的格式,我們只需要存取它的XMLData特性
4、值即可:dssmFishFact.cdsFishFact.XMLData;XMLData特性值會回傳以下面格式封裝的XML資料: 5、』string』WIDTH=』40″/>6、hex』SUBTYPE=』Binary』WIDTH=』1″/>7、ish』Notes=』Alsoknownasthebigspottedtriggerfish. Inhabi』…然而BDE/dbExpress雖然能夠把資料封裝成XML格式,但使用XML封裝資料時仍然會因為不同的資料存取使用不同的XML元素來封裝資料,因此在交換資料時仍然會造成許多的困擾,而且使用XML格式封裝資料的成本比起JSON來要昂貴許多(XML使用較多元素,較為複雜的規則封裝資料所致)。因此Delphi/BCB要支援JSON/REST技術,其中一個工作就是必須能夠把資料封裝成JSON的格式,因此從Delphi/BCB2010版開始便在VCL8、和RTL中加入了許多和JSON相關的類別以執行這項工作。到了XE版Delphi/BCB基本上不但能夠把資料封裝成JSON的
5、』string』WIDTH=』40″/>6、hex』SUBTYPE=』Binary』WIDTH=』1″/>
6、hex』SUBTYPE=』Binary』WIDTH=』1″/>
7、ish』Notes=』Alsoknownasthebigspottedtriggerfish. Inhabi』…然而BDE/dbExpress雖然能夠把資料封裝成XML格式,但使用XML封裝資料時仍然會因為不同的資料存取使用不同的XML元素來封裝資料,因此在交換資料時仍然會造成許多的困擾,而且使用XML格式封裝資料的成本比起JSON來要昂貴許多(XML使用較多元素,較為複雜的規則封裝資料所致)。因此Delphi/BCB要支援JSON/REST技術,其中一個工作就是必須能夠把資料封裝成JSON的格式,因此從Delphi/BCB2010版開始便在VCL
8、和RTL中加入了許多和JSON相關的類別以執行這項工作。到了XE版Delphi/BCB基本上不但能夠把資料封裝成JSON的
此文档下载收益归作者所有