版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄詠南中間件2詠南中間件數(shù)據(jù)庫配置2詠南中間件插件配置2詠南中間件遠(yuǎn)程方法接口說明5詠南中間件日志7詠南中間件支持二層變?nèi)龑拥母脑?詠南中間件支持集群7代理服務(wù)器部署7設(shè)置代理服務(wù)器要綁定的IP地址和端口號(hào)7運(yùn)行代理服務(wù)器8中間件集群部署9設(shè)置配置文件9運(yùn)行中間件10部署客戶端開發(fā)框架11設(shè)置配置文件11運(yùn)行客戶端開發(fā)框架11詠南開發(fā)框架12詠南開發(fā)框架既支持二層又支持三層開發(fā)12詠南開發(fā)框架支持自動(dòng)升級(jí)12詠南開發(fā)框架是插件框架13詠南開發(fā)框架提供完善的權(quán)限管理13詠南開發(fā)框架支持日志管理15詠南開發(fā)框架提供完整的進(jìn)銷存DEMO15詠南開發(fā)框架提供報(bào)表打印模塊16詠南中間件詠南中間件數(shù)據(jù)庫
2、配置菜單:選項(xiàng)數(shù)據(jù)庫1)詠南中間件使用FIREDAC數(shù)據(jù)引擎。2)詠南中間件可以支持市面上幾乎所有的數(shù)據(jù)庫:ORACLE、MSSQL、MYSQL、DB2、INFORMIX等。3)一個(gè)詠南中間件可以同時(shí)掛接多個(gè)不同類型的數(shù)據(jù)庫,可以同時(shí)連接ORACLE或其它類型的數(shù)據(jù)庫。4)詠南開發(fā)框架使用MSSQL類型的數(shù)據(jù)庫。詠南開發(fā)框架數(shù)據(jù)庫可以不需要轉(zhuǎn)換為其他類型的數(shù)據(jù)庫,如果你的項(xiàng)目使用非MSSQL數(shù)據(jù)庫,你只需讓詠南中間件同時(shí)掛2個(gè)數(shù)據(jù)庫:一個(gè)是詠南開發(fā)框架數(shù)據(jù)庫,一個(gè)是你的項(xiàng)目所使用的數(shù)據(jù)庫。5)詠南中間件會(huì)為每一個(gè)掛接的數(shù)據(jù)庫創(chuàng)建一個(gè)數(shù)據(jù)庫連接池,通過帳套編號(hào)來唯一地標(biāo)識(shí)每一個(gè)數(shù)據(jù)庫,所以帳套編
3、號(hào)必須是唯一的。默認(rèn)第一個(gè)帳套是詠南開發(fā)框架數(shù)據(jù)庫,帳套編號(hào):0。詠南中間件插件配置菜單:選項(xiàng)插件1)可以將項(xiàng)目所有的業(yè)務(wù)功能都封裝成詠南中間件的插件,從而實(shí)現(xiàn)真正的【三層】,真正的【瘦客戶端】。2)詠南中間件支持插件【熱插拔】,增加新的插件,不需要重新啟動(dòng)中間件程序,升級(jí)中間件不需要停機(jī)。3)插件文件名,插件類名是大小寫敏感的。4)插件基類,所有的插件都必須從TfrmPlugBase基類繼承,并覆寫GetSvrData()抽象方法。 TfrmPlugBase = class(TDataModule) private Private declarations public function G
4、etSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; virtual; abstract; / accountNo,帳套編號(hào)/ defineId=3位插件編號(hào)+2位自定義編號(hào),defineId必須是唯一的,客戶端通過defineId/ 調(diào)用中間件的插件 / inParams,TDataSet.Params的OLEVARIANT序列 / 返回:NULL-默認(rèn)不返回結(jié)果,非NULL-返回結(jié)果數(shù)據(jù) end;5)插件DEMO/ 服務(wù)端業(yè)務(wù)插件演示/ 陳新光unit untPlug1;int
5、erfaceuses System.SysUtils, System.Classes, untPlugBase, untGlobal, Datasnap.DBClient;type TfrmPlug1 = class(TfrmPlugBase) private Private declarations public Public declarations function GetSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; override; end;var frmPlug1:
6、 TfrmPlug1;implementation%CLASSGROUP 'System.Classes.TPersistent'$R *.dfmuses untDB, untDBPool, System.Variants; TfrmPlug1 function TfrmPlug1.GetSvrData(const accountNo,defineId: WideString; inParams: OleVariant): OleVariant;/ defineId=3位插件編號(hào)+2位自定義編號(hào),必須是唯一的var d: TfrmDB; sql: string;begin d
7、:= GetDBPool(accountNo).Lock; if Assigned(d) then begin try if defineId = '12301' then begin sql := 'select * from sys_plugin' d.cds.Close; d.cds.CommandText := sql; d.cds.Params.Clear; if not VarIsNull(inParams) then UnpackParams(inparams, d.cds.Params); d.cds.Open; Result := d.cds.
8、Data; end else if defineId = '12302' then begin sql := 'insert sys_plugin.' d.cds.Close; d.cds.CommandText := sql; d.cds.Params.Clear; if not VarIsNull(inParams) then UnpackParams(inparams, d.cds.Params); d.cds.Execute; Result := Null; end; finally GetDBPool(accountNo).Unlock(d); end
9、; end else Result := Null;end;initialization RegisterClass(TfrmPlug1);finalization UnRegisterClass(TfrmPlug1);end.詠南中間件遠(yuǎn)程方法接口說明詠南中間件默認(rèn)已經(jīng)提供如下遠(yuǎn)程方法: function QuerySql(const accountNo, sql: WideString): OleVariant; / 查詢數(shù)據(jù) / 失?。悍祷豱ull;成功:返回dataset.data / accountNo-帳套編號(hào),sql-SQL語句 function ExecuteSql(const
10、 accountNo, sql: WideString): Boolean; / 執(zhí)行SQL命令 / 失?。悍祷谾ALSE;成功:返回TRUE / accountNo-帳套編號(hào),sql-SQL語句 function SaveData(const accountNo, tableName: WideString; delta: OleVariant): Boolean; / 保存單表數(shù)據(jù) / 失?。悍祷谾ALSE;成功:返回TRUE / accountNo-帳套編號(hào),tableName-待保存的數(shù)據(jù)表名 / delta-clientDataset.delta function SaveDatas
11、(const accountNo: WideString; tableNames, deltas: OleVariant; tableCount: Integer): Boolean; / 保存多表數(shù)據(jù) / 失?。悍祷谾ALSE;成功:返回TRUE / accountNo-帳套編號(hào) function GetFieldValue(const accountNo, sql: WideString): OleVariant; / 取字段值 / 失?。悍祷豱ull;成功:返回field.value function GetSetOfBook: OleVariant; / 返回帳套數(shù)據(jù) function
12、 GetSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; / 調(diào)用中間件插件 / 失敗:返回null;成功:返回data / accountNo-帳套編號(hào),defineId-插件編號(hào),inParams-Dataset.params序列 function spExec(const accountNo, spName: WideString; inParams: OleVariant): Boolean; / 調(diào)用存儲(chǔ)過程-命令 / 失?。悍祷谾ALSE;成功:返回TRUE / acc
13、ountNo-帳套編號(hào),spName-存儲(chǔ)過程名,inParams-Dataset.params序列 function spExecOut(const accountno, spName: WideString; inParams: OleVariant): OleVariant; / 調(diào)用存儲(chǔ)過程-命令-返回值 / 失?。悍祷豊ULL;成功:返回TParams / accountNo-帳套編號(hào),spName-存儲(chǔ)過程名,inParams-Dataset.params序列 function spOpen(const accountno, spName: WideString; inParams
14、: OleVariant): OleVariant; / 調(diào)用存儲(chǔ)過程-查詢 / 失?。悍祷豊ULL;成功:返回?cái)?shù)據(jù) / accountNo-帳套編號(hào),spName-存儲(chǔ)過程名,inParams-Dataset.params序列 function spOpenOut(const accountno, spName: WideString; inParams: OleVariant): OleVariant; / 調(diào)用存儲(chǔ)過程-查詢-返回值 / 失?。悍祷豱ull;成功:result0 返回?cái)?shù)據(jù),result1 返回TParams / accountNo-帳套編號(hào),spName-存儲(chǔ)過程名,in
15、Params-Dataset.params序列 function echo(const str: string): string;/ 功能:為了演示REST方法調(diào)用詠南中間件日志在LOGS都會(huì)按天生成詳盡的日志文件,一旦有異常都可以通過看日志找到蛛絲馬跡,迅速定位問題點(diǎn)所在。詠南中間件支持二層變?nèi)龑拥母脑煸瓉砝系亩又边B程序,可能是由DELPHI6,DELPHI7開發(fā)的,詠南中間件支持將它們從二層變?nèi)龑拥母脑?,讓它們?cè)诨ヂ?lián)網(wǎng)環(huán)境暢快運(yùn)行,延續(xù)生命,保障你以前的投資。詠南中間件支持集群代理服務(wù)器部署設(shè)置代理服務(wù)器要綁定的IP地址和端口號(hào)運(yùn)行代理服務(wù)器中間件集群部署設(shè)置配置文件broker節(jié)active=1,表示中間件啟用集群部署。設(shè)置代理服務(wù)器的ip地址和端口號(hào)。local節(jié)設(shè)置當(dāng)前中間件要綁定的IP地址和端口號(hào)。注意:如果在同一臺(tái)服務(wù)器上部署多個(gè)中間件,這多個(gè)中間件的IP地址可以相同,但端口號(hào)必須不能相同。運(yùn)行中間件部署客戶端開發(fā)框架設(shè)置配置文件broker節(jié)Active=1,表示啟用負(fù)載均衡+自動(dòng)故障轉(zhuǎn)移集群。設(shè)置代理服務(wù)器的IP地址和端口號(hào)。app節(jié)Tier=3,表示是3層架構(gòu),必須設(shè)為3,才能啟用負(fù)載均衡+自動(dòng)故障轉(zhuǎn)移集群。運(yùn)行客戶端開發(fā)框架詠南開發(fā)框架詠南開發(fā)框架既支持二層又支持三層開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年商鋪買賣合同審查代理合同
- 律所裝修合同解除協(xié)議
- 企業(yè)擴(kuò)張借款融資居間合同
- 咖啡烘焙全包裝修合同范本
- 物流行業(yè)智能化升級(jí)投資合同
- 在線教育課程開發(fā)合同
- 廚具設(shè)備采購合同
- 卵石采購合同
- 企業(yè)投資分析咨詢合同
- 社交媒體內(nèi)容創(chuàng)作合同
- 河南省鄭州市2023-2024學(xué)年高一下學(xué)期6月期末數(shù)學(xué)試題(無答案)
- 七年級(jí)數(shù)學(xué)垂線1
- JTG C10-2007 公路勘測規(guī)范
- 糖尿病酮癥酸中毒護(hù)理查房演示課件
- 重大危險(xiǎn)源的風(fēng)險(xiǎn)評(píng)估模型
- 采購支出管理制度
- 混凝土試件臺(tái)賬
- 人機(jī)料法環(huán)測檢查表
- 中國數(shù)字貨運(yùn)發(fā)展報(bào)告
- 使用AVF血液透析患者的護(hù)理查房
評(píng)論
0/150
提交評(píng)論